none
dizi sınırları dışına cıktı RRS feed

  • Soru

  • Merhaba

    private List<SqlParameter> parametreler(Bankalar item)
            {
                List<SqlParameter> prm = new List<SqlParameter>();
                Int16 prmno = 1;
                if(item.id != 0)
                {
                    prm[prmno].SqlValue = item.id;
                    prm[prmno].ParameterName = "@id";
                    prmno++;
                }
                if(item.banka_adi!=null)
                {
                    prm[prmno].SqlValue = Convert.ToString(item.banka_adi);
                    prm[prmno].ParameterName = "@banka_adi";
                    prmno++;
                }

    }

    gelen Bankalar item degerleri boşmu diye hepsini kontrol ediyorum ve bu degerleri sqlparametr 'a atıyorum ama kalın puntoyla yazılan yerde 

    An exception of type 'System.ArgumentOutOfRangeException' occurred in mscorlib.dll but was not handled in user code

    Additional information: Dizin aralık dışındaydı. Negatif bir değer olmamalı ve koleksiyonun boyutundan daha küçük olmalıdır.

    hatası alıyorum (item.id degeri 0 olduğundan içine girmiyor) neden aldığımı cözemedim.

    yardımlarınız için şimdiden teşekkürle

    13 Nisan 2016 Çarşamba 17:33

Yanıtlar

  • Son derece basit, prmno 1 ve prm 0 elemanli bir liste. Sanirim sunu yapmak istedin:

    List<SqlParameter> prm = new List<SqlParameter>();
    if (item.id != 0)
    {
    	prm.Add(new SqlParameter { SqlValue = item.id, ParameterName = "@id" });
    }
    if (item.banka_adi != null)
    {
    	prm.Add(new SqlParameter { SqlValue = Convert.ToString(item.banka_adi), ParameterName = "@banka_adi" });
    }
    

    13 Nisan 2016 Çarşamba 18:39

Tüm Yanıtlar

  • Son derece basit, prmno 1 ve prm 0 elemanli bir liste. Sanirim sunu yapmak istedin:

    List<SqlParameter> prm = new List<SqlParameter>();
    if (item.id != 0)
    {
    	prm.Add(new SqlParameter { SqlValue = item.id, ParameterName = "@id" });
    }
    if (item.banka_adi != null)
    {
    	prm.Add(new SqlParameter { SqlValue = Convert.ToString(item.banka_adi), ParameterName = "@banka_adi" });
    }
    

    13 Nisan 2016 Çarşamba 18:39
  • daha önce yukardı gibi tanımladığımda kabul etmiş ve calıştırmıştı ama şimdi calışmadı.

    yardımlarınız için teşekürler paylaştığınız kod calışıyor 

    13 Nisan 2016 Çarşamba 20:47
  • Daha once o sekilde kabul etmis olmasi imkansiz. Farkli bir seydir, sen ayni sanmissindir.
    14 Nisan 2016 Perşembe 10:00