Eğer SqlCommand ile çalışırken böyle bir hata ile karşılaşıyorsanız, problem büyük ihtimalle parametrelerin içerdikleri değerlerden kaynaklanıyordur. Böyle bir durumda parametrelerinizin içerdikleri değerleri kontrol edip, eğer null iseler bunları DBNull.Value ile değiştirmeniz probleminizi çözecektir. Bu iş için kısaca şöyle bir kod yazılabilir.
--
C# ile bir SQL ifadesi içerisine "null" parametre gönderirken hata alabiliriz.. Örneğin :
param.Add("@abc", strAbc == "" ? null : strAbc);
ifadesi çalışmayacaktır ve şöyle bir hata verecektir : Parameterized Query '(@Type nvarchar(2),@GroupType nvarchar(1),@Keyword' expects parameter @Type, which was not supplied.
Bu sorunu çözmek için kodu şöyle düzeltebiliriz.
param.Add("@abc", strAbc == "" ? (object)DBNull.Value : strAbc);
--
Com.Parameters.AddWithValue("@DogumTarihi", System.Data.SqlTypes.SqlDateTime.Null);
--
Hiç yorum yok:
Yorum Gönder