Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

पैरामीटर @Name संग्रह में नहीं मिला

मान निर्दिष्ट करने से पहले आपको पैरामीटर जोड़ने होंगे:

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 + "%");


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या मैं mysql टेबल कॉलम केस को असंवेदनशील बना सकता हूं?

  2. MySQL के लिए 2 फ़ील्ड पर SQL LEFT-JOIN

  3. MySQL डेटाबेस में धीमी क्वेरी (धीमी क्वेरी लॉग) की लॉगिंग सक्षम करें

  4. समूह और स्ट्रिंग कॉलम से संख्या की तुलना करें

  5. PHP/MySQL के साथ CSV अपलोड करें