आप बस यह कर सकते हैं
query = "Select * From Table Where Title = " + someone;
लेकिन यह बुरा है और आपको SQL इंजेक्शन के लिए खोलता है
आपको केवल एक पैरामीटरयुक्त क्वेरी का उपयोग करना चाहिए
कुछ इस तरह से आपको शुरुआत करनी चाहिए
using (var cn = new SqlClient.SqlConnection(yourConnectionString))
using (var cmd = new SqlClient.SqlCommand())
{
cn.Open();
cmd.Connection = cn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "Select * From Table Where Title = @Title";
cmd.Parameters.Add("@Title", someone);
}
जॉन स्कीट के उत्तर से क्योंकि वह मेरे से अधिक पूर्ण था
SqlCommand.Parametersके लिए दस्तावेज़ देखें। ए> अधिक जानकारी के लिए।
मूल रूप से आपको विभिन्न कारणों से अपने मूल्यों को SQL में ही एम्बेड नहीं करना चाहिए:
- कोड और डेटा को मिलाना अनुचित है
- यह आपको SQL इंजेक्शन हमलों के लिए खोलता है जब तक कि आप बचने के बारे में बहुत सावधान न हों
- आपको स्वरूपण और संख्या, दिनांक और समय आदि जैसी चीज़ों के लिए i18n विवरण के बारे में चिंता करने की ज़रूरत है
- जब क्वेरी केवल मान बदलने के साथ ही बनी रहती है, तो ऑप्टिमाइज़र के पास करने के लिए कम काम होता है - यह पिछली अनुकूलित क्वेरी को सीधे देख सकता है क्योंकि यह SQL के लिए एकदम सही मिलान होगा।