मैं सी # और .NET 3.5 का उपयोग कर रहा हूँ। मुझे कुछ टी-एसक्यूएल सम्मिलन कथन उत्पन्न करने और स्टोर करने की आवश्यकता है जिसे बाद में रिमोट सर्वर पर निष्पादित किया जाएगा।
उदाहरण के लिए, मेरे पास कर्मचारियों की एक सरणी है:
new Employee[]
{
new Employee { ID = 5, Name = "Frank Grimes" },
new Employee { ID = 6, Name = "Tim O'Reilly" }
}
और मुझे तारों की एक सरणी के साथ समाप्त करने की जरूरत है, इस तरह:
"INSERT INTO Employees (id, name) VALUES (5, 'Frank Grimes')",
"INSERT INTO Employees (id, name) VALUES (6, 'Tim O''Reilly')"
मैं कुछ कोड देख रहा हूं जो स्ट्रिंग.फॉर्मैट के साथ सम्मिलित बयान तैयार करता है, लेकिन यह सही नहीं लगता है। मैंने SqlCommand का उपयोग करने पर विचार किया ( कुछ ऐसा करने की उम्मीद है यह ), लेकिन यह पैरामीटर के साथ कमांड पाठ को गठबंधन करने का कोई तरीका नहीं प्रदान करता है।
क्या यह सिंगल कोट्स को प्रतिस्थापित करने और स्ट्रिंग बनाने के लिए पर्याप्त है?
string.Format("INSERT INTO Employees (id, name) VALUES ({0}, '{1}')",
employee.ID,
replaceQuotes(employee.Name)
);
ऐसा करने के बारे में मुझे क्या चिंतित होना चाहिए? स्रोत डेटा काफी सुरक्षित है, लेकिन मैं बहुत अधिक धारणाएं नहीं बनाना चाहता हूं।
संपादित करें: बस यह इंगित करना चाहते हैं कि इस मामले में, मेरे पास SQL सर्वर से सीधे कनेक्ट करने के लिए कोई SQL कनेक्शन या कोई तरीका नहीं है। इस विशेष ऐप को एसक्यूएल कथन उत्पन्न करने की आवश्यकता है और उन्हें कहीं और निष्पादित करने के लिए कतारबद्ध करने की आवश्यकता है - अन्यथा मैं SqlCommand.Parameters का उपयोग कर रहा हूं। AddWithValue ()