मान निर्दिष्ट करने से पहले आपको पैरामीटर जोड़ने होंगे:
mySqlCommand.Parameters.Add("@AreaName", SqlDbType.VarChar);
mySqlCommand.Parameters["@AreaName"].Value =
(string.IsNullOrEmpty(Convert.ToString(PModel.AreaName))
? (object)DBNull.Value : PModel.AreaName));
इस वैकल्पिक सिंटैक्स का उपयोग करने पर विचार करें:
mySqlCommand.Parameters.AddWithValue("@AreaName",
(string.IsNullOrEmpty(Convert.ToString(PModel.AreaName))
? (object)DBNull.Value : PModel.AreaName));
आप प्रत्येक का एक संक्षिप्त उदाहरण SqlCommand.Parameters संपत्ति MSDN पर पृष्ठ।
साथ ही, आपने क्वेरी स्ट्रिंग के साथ कुछ फंकी किया है। इसे इसे ठीक करना चाहिए:
mySqlCommand.CommandText =
"SELECT * FROM PlantAreaCodes WHERE (AreaCode IS NULL OR AreaCode LIKE @AreaCode OR AreaName IS NULL OR AreaName LIKE @AreaName OR Comments IS NULL OR Comments LIKE @Comment;";
LIKE
पाने के लिए सही ढंग से काम करने के लिए, आपको शायद %
add जोड़ना होगा जब आप उन्हें जोड़ रहे हों तो आपके पैरामीटर मानों के आसपास के प्रतीक:
var areaName = (string.IsNullOrEmpty(Convert.ToString(PModel.AreaName))
? (object)DBNull.Value : PModel.AreaName)
mySqlCommand.Parameters.AddWithValue("@AreaName", "%" + areaName + "%");