Google Analytics İzleme

06 Mart 2011

SqlException: The parameterized query ## expects the parameter ##, which was not supplied. hatası hakkında

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: