none
Procedure or function expects parameter which was not RRS feed

  • Soru

  • Merhaba,

    Çokca karşılaşılan bir problem olduğunu biliyorum fakat bir türlü işin içinden çıkamadım bu konuda yardımcı olursanız gerçekten çok makbule geçer...

    Şimdiden çok teşekkürler...

    problemim şu kayıtlı bir kullanıcım var login olmak istediğinde "Procedure or function 'ADMINGIRIS' expects parameter '@AdminKullaniciAdi', which was not supplied." şeklinde hata alıyorum.

    sql procedure um şu şekilde...

    ALTER proc [dbo].[ADMINGIRIS]
    (
    @AdminKullaniciAdi varchar (50),
    @AdminSifre varchar(50)
    )
    as
    begin


    declare @adet int


    select @adet=COUNT (AdminID) from AdminGiris
    where KullaniciAdi=@AdminKullaniciAdi and Sifre=@AdminSifre and Durum=2


    if (@adet=0)


    return 0


    else


    return 1
    end

    C# kodum da aşğıdaki gibi

       SfcCon kontrol = new SfcCon();
            SqlParameter[] parameters = new SqlParameter[2]
            {
            new SqlParameter("@KullaniciAdi",SqlDbType.VarChar),
            new SqlParameter("@Sifre",SqlDbType.VarChar)
            };
            parameters[0].Value = txtAdminKullaniciAdi.Text;
            parameters[1].Value = txtAdminSifre.Text;


            SqlDataReader dr = kontrol.ExecuteReader("ADMINGIRIS", CommandType.StoredProcedure, parameters);
                   


            bool durum = true;


            if (dr.Read())
            {
                if (dr.GetInt32(0) == 0)
                    durum = false;
            }
            if (!durum)
            {
                lblDurum.Text = "Hatalı Kullanıcı Adı ya da Şifre girdiniz";
            }
            else
            {
                lblDurum.Text = "Başarılı";


            }

    13 Şubat 2012 Pazartesi 16:54

Yanıtlar

  • Merhaba,

    Null ile boş değer aynı anlamı taşımamaktadır. bu nedenle txtAdminKullaniciAdi==null yerine string sınıfının static bir methodu olan IsNullOrEmpty methodunu kullanın. MÖrneğin;

    if (String.IsNullOrEmpty(txtAdminKullaniciAdi))
            {
                lblDurum.Text = "Kullanıcı Adı boş geçilemez";
                txtAdminKullaniciAdi.Focus();
                return;            
            }



    http://ismailadar.com/


    13 Şubat 2012 Pazartesi 19:30

Tüm Yanıtlar

  • merhaba,

    C# kodunuzu form_load event,inde mi caliştiriyorsunuz? ADMINGIRIS spsini çalıştırmadan önce kullanıcının giriş yaptığı textbozların boyutunu kontrol edin ve eğer girilmemişse uyarı verebilirsiniz


    http://ismailadar.com/

    13 Şubat 2012 Pazartesi 17:31
  • merhaba,

    C# kodunuzu form_load event,inde mi caliştiriyorsunuz? ADMINGIRIS spsini çalıştırmadan önce kullanıcının giriş yaptığı textbozların boyutunu kontrol edin ve eğer girilmemişse uyarı verebilirsiniz


    http://ismailadar.com/

    C# kodu load da değil butonun click özelliğinde çalışıyor. SP den önce kontrol için aşağıdaki kod çalışıyor. Teşekkürler.

    if (txtAdminKullaniciAdi==null)
            {
                lblDurum.Text = "Kullanıcı Adı boş geçilemez";
                txtAdminKullaniciAdi.Focus();
                return;            
            }


            if (txtAdminSifre == null)
            {
                lblDurum.Text = "Şifre boş geçilemez";
                txtAdminSifre.Focus();
                return;
            }

    13 Şubat 2012 Pazartesi 17:41
  • Merhaba,

    Null ile boş değer aynı anlamı taşımamaktadır. bu nedenle txtAdminKullaniciAdi==null yerine string sınıfının static bir methodu olan IsNullOrEmpty methodunu kullanın. MÖrneğin;

    if (String.IsNullOrEmpty(txtAdminKullaniciAdi))
            {
                lblDurum.Text = "Kullanıcı Adı boş geçilemez";
                txtAdminKullaniciAdi.Focus();
                return;            
            }



    http://ismailadar.com/


    13 Şubat 2012 Pazartesi 19:30