गतिशील कनेक्शन स्ट्रिंग डेटाबेस c #


9

im हमेशा कनेक्शन के लिए कोड की इस लाइन का उपयोग करें:

 string ConnectString = "datasource = mysource; username = myusername; password = mypassword; database = mydatabasename";

किस समय थिसिमे करने की कोशिश की जा रही है इसके बजाय हर बार स्क्रिप्ट में मेरे सर्वर डेटा को सीधे लिखने के बजाय मैं कुछ टेक्स्टबॉक्स भरना चाहता हूं। इसलिए im ऐसा कुछ करने की कोशिश करें

string ConnectString = "datasource = txtmysource.Text; username = txtmyusername.Text; password = txtmypassword.Text; database = txtmydatabasename.Text";

जहां txtmysource.Text / txtmyusername.Text / txtmypassword.Text / txtmydatabasename.Text UI में टेक्स्टबॉक्स के नाम हैं। लेकिन मैं इसे करने के लिए लिखने का तरीका नहीं खोज सकता।

जवाबों:


28

आप शायद चाहते हैं DbConnectionStringBuilder, आदर्श रूप से अपने RDBMS के लिए सही एक - तो SQL सर्वर के साथ:

var builder = new SqlConnectionStringBuilder
{
    UserID = txtmyusername.Text,
    DataSource = txtmysource.Text,
    Password = txtmypassword.Text,
    InitialCatalog = txtmydatabasename.Text,
};
var connectString = builder.ConnectionString;

यहाँ महत्वपूर्ण बिट यह है कि यह सही वर्ण भागने आदि को लागू करेगा यदि (उदाहरण के लिए) किसी भी तत्व में आरक्षित / गैर-तुच्छ वर्ण होते हैं जैसे कि व्हाट्सएप, अल्पविराम, उद्धरण, आदि।


2

शायद इस तरह से प्रक्षेपित स्ट्रिंग के साथ:

string ConnectString = $"datasource = {txtmysource.Text}; username = {txtmyusername.Text}; password = {txtmypassword.Text}; database = {txtmydatabasename.Text}";

2
जो तब तक ठीक रहता है जब तक कि कोई व्यक्ति नामक डेटाबेस नहीं बनाता है a;b="c- जिसे हां की अनुमति है
मार्क ग्रेवेल

आपके समाधान के साथ अब तय किया गया धन्यवाद
राउफ बेसेघियर

2
@RaoufBessghaier आप उस मामले में जवाब (हरा टिक) के रूप में चिह्नित करना चाहिए
मार्क Gravell
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.