ADO.NET का उपयोग करके MySQL से कैसे जुड़ें

जब मैंने ADO.NET तकनीक से अपना परिचय शुरू किया, तो मुझे तुरंत इस सवाल में दिलचस्पी हो गई: "मैं ADO.NET तकनीक का उपयोग करके MySQL से कैसे जुड़ सकता हूँ।" मैंने समाधान ढूंढना शुरू किया। अब जब मैंने अपने कंप्यूटर पर यह सब लागू कर दिया है, तो मैं अपने अनुभव और कौशल आपके साथ साझा करना चाहता हूं। आइए इस उद्यम को लागू करने के लिए हमें क्या विश्लेषण करना चाहिए, इसकी शुरुआत करें।

  1. MySQL डेटाबेस सर्वर
  2. विजुअल स्टूडियो (मेरे उदाहरण में, यह विजुअल स्टूडियो 2010 है)
  3. MySQL लाइब्रेरी


मुझे आशा है कि आपके पास पहले से MySQL डेटाबेस सर्वर और विजुअल स्टूडियो स्थापित है। यदि नहीं, तो आरंभ करने से पहले स्थापना करें। सब कुछ तैयार है। Visual Studio स्थापित है, MySQL डेटाबेस सर्वर स्थापित है। सबसे पहले, हमें MySQL dll लाइब्रेरी की आवश्यकता होगी, जो .NET फ्रेमवर्क में ADO.NET के साथ काम करने में मदद करेगा। आप आधिकारिक MySQL वेबसाइट पर dev.mysql.com पर लाइब्रेरी डाउनलोड कर सकते हैं।

साइट पर डाउनलोड करने के लिए दो विकल्प उपलब्ध हैं: पहला इंस्टॉलर है, दूसरा आर्काइव है, उदाहरण में पहले विकल्प पर विचार किया जाएगा। और इसलिए, डाउनलोड किया गया? स्थापित? महान, आगे बढ़ें, फिर हमें उस फ़ोल्डर को देखने की आवश्यकता है जिसमें हमने MySQL dll लाइब्रेरी स्थापित की है, लाइब्रेरी के लिए मेरा रास्ता इस तरह दिखता है: C: \ Program Files \ MySQL \ MySQL कनेक्टर Net 6.4.4 \ Assemblies \ v2.0 इसमें हम फ़ोल्डर ढूंढते हैं और फ़ाइल MySql.Date.dll को बफर में कॉपी करते हैं।

हम फ़ाइल -> नई -> परियोजना (फ़ाइल -> नई -> परियोजना) या Ctrl + Shift + N के माध्यम से विज़ुअल स्टूडियो में एक कंसोल एप्लिकेशन बनाते हैं। भाषा विजुअल C # कंसोल एप्लिकेशन क्लिक ठीक चुनें। हम प्रोजेक्ट फ़ोल्डर में जाते हैं, जहां सभी फाइलें झूठ होती हैं, बस कंसोल एप्लिकेशन {प्रोजेक्ट नाम} / बिन / डिबग / कोर्ट फाइल की प्रतिलिपि बनाएं MySql.Date.dll। "संदर्भ" मेनू में समाधान एक्सप्लोरर में, आपको "लिंक जोड़ने" की आवश्यकता है।

परिणामस्वरूप, dll लाइब्रेरी MySql.Data का लिंक "रेफरेंस" मेनू में समाधान एक्सप्लोरर में दिखाई देगा। बहुत अच्छा, अब यह हमारी परियोजना के लिए इस पुस्तकालय को जोड़ने के लिए बना हुआ है, यह बहुत सरलता से किया जाता है:

//    MySql.Date using MySql.Data.MySqlClient; 


हमने पहले ही आधा काम कर लिया है, यह प्रोग्राम कोड लिखने के लिए बना हुआ है जो MySQL डेटाबेस से एक कनेक्शन बनाएगा और प्रश्नों को निष्पादित करेगा। पहली चीज़ जो हमें चाहिए वो है डेटाबेस कनेक्शन सेटिंग:

  string host = "localhost"; //   string database = "mysql"; //    string user = "root"; //   string password = "password"; //   string Connect = "Database=" + database + ";Datasource=" + host + ";User=" + user + ";Password=" + password; 


हमने 4 में 5 स्ट्रिंग चर बनाए, जिनमें से हमने डेटाबेस से कनेक्ट करने के लिए सेटिंग्स को पंजीकृत किया - स्थानीय कंप्यूटर का नाम, डेटाबेस का नाम, उपयोगकर्ता का उपयोगकर्ता नाम और पासवर्ड; ये सभी सेटिंग्स स्ट्रिंग में कनेक्ट चर को सौंपी गई थीं; डेटाबेस का पूरा कनेक्शन इसमें संग्रहीत होता है। हम mysql_connection नाम के साथ एक MySqlConnection ऑब्जेक्ट बनाते हैं और इसे कनेक्ट के लिए लाइन पास करते हैं:

 MySqlConnection mysql_connection = new MySqlConnection(Connect); 


MySqlConnection ऑब्जेक्ट डेटाबेस कनेक्शन है। अगला चरण, हम वर्तमान कनेक्शन का उपयोग करके mysql_query नाम के साथ एक MySqlCommand ऑब्जेक्ट बनाते हैं और एक SQL क्वेरी बनाते हैं जिसे mysql_query में संग्रहीत किया जाएगा। MySqlCommand ऑब्जेक्ट - SQL कमांड निष्पादित करता है।

 MySqlCommand mysql_query = mysql_connection.CreateCommand(); mysql_query.CommandText = "SELECT user FROM user;"; 


अगला, डेटाबेस से जुड़ने और जुड़ने के लिए, आपको .Open () विधि को कॉल करने की आवश्यकता है:

 mysql_connection.Open(); 


अब, संसाधित अनुरोध को देखने के लिए, आपको MySqlDataReader ऑब्जेक्ट बनाना होगा:

 MySqlDataReader mysql_result; 


कंसोल विंडो पर SQL क्वेरी निष्पादित करने के लिए, हमें ExecuteReader (), Read (), GetString () विधि और जबकि लूप की आवश्यकता है। ExecuteReader () विधि क्वेरी को निष्पादित करती है और परिणाम की 0 या अधिक पंक्तियों को लौटाती है। पढ़ें () विधि - डेटा के अंत तक एक पंक्ति से दूसरी पंक्ति में जाती है। GetString () विधि लौटाए जाने के लिए विशिष्ट मान प्राप्त करता है।

 mysql_result = mysql_query.ExecuteReader(); while (mysql_result.Read()) { Console.WriteLine("{0}", mysql_result.GetString(0)); } 

अंत में, जब अनुरोध निष्पादित किया जाता है, तो .Close () विधि का उपयोग करके डेटाबेस कनेक्शन को बंद करना आवश्यक है:

 mysql_connection.Close(); 

नतीजतन, कार्यक्रम हमें उन उपयोगकर्ताओं की एक सूची दिखाना चाहिए जो डेटाबेस में मौजूद हैं। मेरे मामले में, यह एक रूट उपयोगकर्ता है, आपके पास उनमें से कई हो सकते हैं। इस विषय को समेकित करने के लिए, आइए एक कार्यात्मक लागू करें जो हमें उपयोगकर्ता के बारे में थोड़ी जानकारी प्रदर्शित करेगा, जैसे कि उपयोगकर्ता नाम, उपयोगकर्ता पासवर्ड और स्थानीय कनेक्शन का नाम। पूर्ण प्रोग्राम कोड और एक लिंक जहां आप प्रोजेक्ट डाउनलोड कर सकते हैं, नीचे प्रस्तुत किया गया है।

 using System; using System.Collections.Generic; using System.Linq; using System.Text; //    MySql.Date using MySql.Data.MySqlClient; namespace MySQLConsole { class Program { static void Main(string[] args) { string host = "localhost"; //    string database = "mysql"; //    string user = "root"; //   string password = "password"; //   string Connect = "Database=" + database + ";Datasource=" + host + ";User=" + user + ";Password=" + password; //      MySqlConnection mysql_connection = new MySqlConnection(Connect); //  SQL  MySqlCommand mysql_query = mysql_connection.CreateCommand(); mysql_query.CommandText = "SELECT user FROM user;"; try { mysql_connection.Open(); MySqlDataReader mysql_result; mysql_result = mysql_query.ExecuteReader(); while (mysql_result.Read()) { Console.WriteLine("{0}", mysql_result.GetString(0)); } mysql_connection.Close(); string command; do { command = Console.ReadLine(); if (command != "quit") { mysql_query = new MySqlCommand("SELECT host, user, password FROM user WHERE user =\"" + command + "\";", mysql_connection); mysql_connection.Open(); mysql_result = mysql_query.ExecuteReader(); if (mysql_result.Read()) { Console.WriteLine("\n  : {0}", command); Console.WriteLine("HOST: {0}", mysql_result.GetString(0)); Console.WriteLine("USER: {0}", mysql_result.GetString(1)); Console.WriteLine("PASSWORD: {0}", mysql_result.GetString(2)); } else { Console.WriteLine(" {0}    !", command); } mysql_connection.Close(); } } while (command != "quit"); } catch { Console.WriteLine(" MySQL"); } } } 

यहां प्रोजेक्ट सोर्स डाउनलोड करें।

Source: https://habr.com/ru/post/In169929/


All Articles