En iyi yanıtlayıcılar
Procedure or function expects parameter which was not

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
endC# 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ı";
}
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/
- Düzenleyen İsmail Adar 13 Şubat 2012 Pazartesi 19:31
- Yanıt Olarak Öneren Emre Gunerturk 16 Şubat 2012 Perşembe 10:09
- Yanıt Olarak İşaretleyen Selçuk GÜRAL 28 Mart 2012 Çarşamba 13:25
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/
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;
} -
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/
- Düzenleyen İsmail Adar 13 Şubat 2012 Pazartesi 19:31
- Yanıt Olarak Öneren Emre Gunerturk 16 Şubat 2012 Perşembe 10:09
- Yanıt Olarak İşaretleyen Selçuk GÜRAL 28 Mart 2012 Çarşamba 13:25