वास्तव में, ओडीबीसी के पास समर्थित नामित पैरामीटर के साथ मुद्दों का अपना हिस्सा है। हालांकि, नामित पैरामीटर का कुछ उपयोग संभव है।
उदाहरण के लिए, आपके मामले में निम्नलिखित सिंटैक्स काम करता है:
OdbcCommand cmd = sql.CreateCommand();
cmd.CommandText = "SELECT UNIQUE_ID FROM userdetails WHERE USER_ID = ?";
cmd.Parameters.Add("USER_ID", OdbcType.VarChar, 250).Value = email;
अधिक कठिन स्थिति तब होती है जब आपके पास USER_ID =?; जैसे पैरामीटर के लिए अद्वितीय मिलान नहीं होता है। उदाहरण के लिए, जब आप IN . का उपयोग करना चाहते हैं कहां . में ऑपरेटर खंड।
तब निम्न सिंटैक्स काम करेगा:
OdbcCommand cmd = sql.CreateCommand();
cmd.CommandText = "SELECT UNIQUE_ID FROM userdetails WHERE USER_ID IN (?, ?)";
cmd.Parameters.Add("?ID1", OdbcType.VarChar, 250).Value = email1;
cmd.Parameters.Add("?ID2", OdbcType.VarChar, 250).Value = email2;
कृपया ? . के उपयोग पर ध्यान दें (प्रश्न चिह्न) @ . के बजाय (संकेत पर) पैरामीटर नाम के भीतर। हालांकि ध्यान दें कि इस मामले में पैरामीटर के मानों के प्रतिस्थापन का उनके नामों से कोई लेना-देना नहीं है, लेकिन केवल पैरामीटर संग्रह के साथ उनके क्रम से है।
मुझे आशा है कि यह मदद करता है :-)