0
Asp.Net ile güncelleme işlemi yapmak istediğimde şöyle bir hata alıyorum;
"The parameterized query '(@title varchar(5),@aciklama varchar(9),@adsoyad varchar(8000),@' expects the parameter '@adsoyad', which was not supplied."
Hata verilen alan şu kısım;
SqlDbType.Varchar alanını db de nvarchar olduğu için SqlDbType.Nvarchar olarak değiştirdim ancak hata giderilemedi. -ki zaten aciklama bölümü de nvarchar olmasına rağmen varchar sorgusunda herhangi bir sıkıntı yaşamıyorum.
public static void updateEvent(int id, String title, String aciklama, String adsoyad, string etkinlikturu)
{
SqlConnection con = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand("UPDATE Kayitlar SET title=@title, Aciklama=@aciklama, AdSoyad=@adsoyad, EtkinlikTuru=@etkinlikturu WHERE event_id=@event_id", con);
cmd.Parameters.Add("@title", SqlDbType.VarChar).Value = title;
cmd.Parameters.Add("@aciklama", SqlDbType.VarChar).Value= aciklama;
cmd.Parameters.Add("@adsoyad", SqlDbType.NVarChar).Value = adsoyad;
cmd.Parameters.Add("@etkinlikturu", SqlDbType.VarChar).Value = etkinlikturu;
cmd.Parameters.Add("@event_id", SqlDbType.Int).Value = id;
using (con)
{
con.Open();
cmd.ExecuteNonQuery();
}
}
0
The parameterized query.... which was not supplied hatası, SQL sorgusu içinde parametre tanımladığında fakat bu parametreye değer atamadığında ortaya çıkar
Örneğin
select * from kullanicilar where ad=@adsoyad
şekline bir sorgun varsa sen bu sorguda @adsoyad bölümüne,@adsoyad ifadesine parametre denir, değeri sonradan yollacağım diye söz veriyorsun. Buraya değeri şu şekilde yollaman gerekiyor
cmd.Parameters.AddWithValue("@adsoyad","uzmanim net");
veya şu şekilde
cmd.Parameters.Add("@adsoyad", SqlDbType.NVarChar).Value = "uzmanim net";
burada cmd nesnesi sqlcommand nesnesi.
Sonuç olarak tanımladığın parametreye değer yollamazsan The parameterized query.... which was not supplied hatası alırsın.
Düzenleme:
@notify updateEvent metodunun parametrelerinden adsoyad'a değer gelmiyor. Bu metodu kullanan kodlarını gözden geçir.
Cevap yazabilmek için üye girişi yapmalısınız.
Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol