कोई एल्गोरिदम आवश्यक नहीं है - SQL कथन बनाने के लिए बस स्ट्रिंग कॉन्सटेनेशन का उपयोग न करें। इसके बजाय SqlCommand.Parameters संग्रह का उपयोग करें। यह सभी आवश्यक मूल्यों से बच निकलता है (जैसे कि '
. को बदलना ''
. के साथ ) और सुनिश्चित करता है कि आदेश सुरक्षित रहेगा क्योंकि किसी और (यानी माइक्रोसॉफ्ट) ने सभी परीक्षण किए हैं।
जैसे एक संग्रहीत कार्यविधि को कॉल करना:
using (var connection = new SqlConnection("..."))
using (var command = new SqlCommand("MySprocName", connection))
{
command.CommandType = CommandType.StoredProcedure;
command.Parameters.AddWithValue("@Param1", param1Value);
return command.ExecuteReader();
}
यह तकनीक इनलाइन SQL स्टेटमेंट्स के लिए भी काम करती है, उदा.
var sql = "SELECT * FROM MyTable WHERE MyColumn = @Param1";
using (var connection = new SqlConnection("..."))
using (var command = new SqlCommand(sql, connection))
{
command.Parameters.AddWithValue("@Param1", param1Value);
return command.ExecuteReader();
}