VB.NET में MySQL के साथ जुड़ना और काम करना

पृष्ठभूमि। DB चयन


डेटाबेस सर्वर के साथ, वीबी में लिखे गए प्रोग्राम के साथ दोस्त बनाने की आवश्यकता थी। बेशक, कई साथी सॉफ्टवेयर डेवलपर्स, MSSQL को सरलतम और सबसे स्पष्ट पसंद बताते हुए, डेटाबेस की मेरी पसंद (और सही भी होंगे) पर सवाल उठा सकते हैं। लेकिन कई तथ्यों को ध्यान में रखना आवश्यक है:


MySQL के लिए एक कनेक्शन सेट करना


चूंकि VB के पास MySQL से जुड़ने के लिए एक मानक तंत्र नहीं है, इसलिए यह ODBC , लेकिन कनेक्टर / NET का उपयोग नहीं करने का निर्णय लिया गया।
सबसे पहले आपको कनेक्टर लाइब्रेरी को कनेक्ट करने की आवश्यकता है।
डिफ़ॉल्ट रूप से, समाधान एक्सप्लोरर में मेरा प्रोजेक्ट आइटम है। वास्तव में, हम इसे चुनते हैं, फिर संदर्भ में जाते हैं।
यह कुछ इस तरह दिखना चाहिए, लेकिन तदनुसार MySql.Data के बिना। मेरे पास पहले से ही यह पुस्तकालय जुड़ा हुआ है।
ऐड पर क्लिक करें, ब्राउज़र टैब चुनें और लाइब्रेरी देखें। यह निम्नलिखित पथ में स्थित है: path_where_you_myst_mysql_connector / Asslies / संस्करण .net / MySql.Data.dll
लाइब्रेरी को प्रोजेक्ट में जोड़ने के बाद, कॉपी को स्थानीय विकल्प (प्रॉपर्टीज विंडो, प्रॉपर्टीज में, हाइलाइट की गई सूची आइटम के साथ) को सही रूप में बदलना सुनिश्चित करें, अन्यथा MySQL कनेक्टर / NET के बिना कंप्यूटर पर सॉफ्टवेयर शुरू करते समय एप्लिकेशन एक डीएलएल त्रुटि के साथ क्रैश हो जाएगा।
इस सब के बाद, आप सुरक्षित रूप से एक कार्यक्रम लिखना शुरू कर सकते हैं।

संबंध


सबसे पहले, लाइन आयात करें MySql.Data.MySqlClient के साथ टाइप करें। इसे किसी भी वर्ग / ऑब्जेक्ट को बनाने से पहले परिभाषा क्षेत्र में रखा जाना चाहिए। चर को परिभाषित करते समय हमें हर बार टाइप करने के लिए पूर्ण पथ लिखने की आवश्यकता से बचाने के लिए यह आवश्यक है।
Imports MySql.Data.MySqlClient 

एक कनेक्शन बनाने के लिए, आपको MySqlConnection प्रकार का एक ऑब्जेक्ट बनाना होगा और इसे कनेक्शनस्ट्रीमिंग (कनेक्शन स्ट्रिंग - सर्वर से कनेक्ट करने के लिए आवश्यक मापदंडों का वर्णन करता है) पर सेट करना होगा।
 'User id   ,   . Dim conn As New MySqlConnection("Server=127.0.0.1;User id=test_user;password=test_pwd;database=test_db") 

इस प्रकार, कॉन के माध्यम से, प्रोग्राम निर्दिष्ट उपयोगकर्ता नाम और पासवर्ड के साथ, स्थानीयहोस्ट पर निर्दिष्ट डेटाबेस से जुड़ जाएगा।

क्वेरी का निष्पादन


प्रश्नों को निष्पादित करने के लिए, MySqlCommand प्रकार का ऑब्जेक्ट बनाना भी आवश्यक है।
  Dim cmd As New MySqlCommand 

इस स्थिति में क्वेरी पाठ cmd ऑब्जेक्ट के CommandText गुण को बदलकर सेट किया गया है:
  cmd.CommandText = " " 

इसके अलावा, यह महत्वपूर्ण है कि अनुरोध को पूरा करने के लिए किस विशेष कनेक्शन का उपयोग करने के लिए मत भूलना।
  cmd.Connection = conn 

विभिन्न डेटाबेस प्रश्नों को करने के लिए कनेक्टर / NET विभिन्न कार्यों का उपयोग करता है।
इसलिए, उदाहरण के लिए, केवल शामिल पंक्तियों की कुल संख्या को लौटाने वाले प्रश्नों को निष्पादित करने के लिए, ExecuteNonQuery फ़ंक्शन का उपयोग किया जाता है, और जो डेटा (पंक्तियों) को वापस करते हैं, उसके लिए एक रीडर ऑब्जेक्ट बनाया जाता है।

परिणामस्वरूप, आउटपुट पर हमारे पास एक एप्लिकेशन है, जो लोड होने पर, डेटाबेस को एक क्वेरी निष्पादित करता है।
 Imports MySql.Data.MySqlClient Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim conn As New MySqlConnection("Server=127.0.0.1;User id=test_user;password=test_pwd;database=test_db") Dim cmd As New MySqlCommand Try conn.Open() cmd.Connection = conn '    insert, update   ExecuteNonQuery,      cmd.CommandText = "INSERT INTO `test_table` (`id`, `test_info`) VALUES (NULL, 'some text info for current id');" Try cmd.ExecuteNonQuery() Catch ex As Exception ' ,        -   End Try '     (  select)  reader. cmd.CommandText = "SELECT * FROM `test_table`" Dim reader As MySqlDataReader reader = cmd.ExecuteReader() While reader.Read() '              MsgBox(reader.GetValue(0)) End While Catch ex As Exception '        End Try End Sub End Class 

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


All Articles