C#連接Mysql數(shù)據(jù)庫詳細教程(內(nèi)附Mysql及Navicat)
課上教學使用的是SqlServer數(shù)據(jù)庫,由于SqlServer數(shù)據(jù)庫配置難以理解,故學習使用Mysql代替數(shù)據(jù)庫連接。(Mysql以及Navicat安裝說明在壓縮包內(nèi))
會自動在C:\Program Files (x86)\MySQL\MySQL Connector Net 6.9.0這個路徑(貌似...)
之后就需要在VS的引用中引用這一文件,然后就可以進行數(shù)據(jù)庫的連接操作了。
首先新建項目,選擇Windows窗體應用程序創(chuàng)建一個窗體
將窗體加上組件設置為下圖所示樣式(可以自由發(fā)揮,只要包含相關輸入即可)
創(chuàng)建connect.cs的類文件(這里是我為后續(xù)創(chuàng)建信息系統(tǒng)方便設置的集成類,可以通過調用該類少寫些代碼)
其中需要在開頭加入using MySql.Data.MySqlClient;
并在類中定義好三個對象
public MySqlConnection conn = null;//連接對象
public MySqlCommand comm = null;//語句執(zhí)行對象
public MySqlDataReader dr = null;//語句執(zhí)行結果數(shù)據(jù)對象
再使用load()方法封裝連接過程,這里就需要自行輸入數(shù)據(jù)庫的相關信息
using System; using System.Collections.Generic; using System.Linq; using System.Text; using MySql.Data.MySqlClient; namespace DataBaseManager { class connect { public MySqlConnection conn = null;//連接對象 public MySqlCommand comm = null;//語句執(zhí)行對象 public MySqlDataReader dr = null;//語句執(zhí)行結果數(shù)據(jù)對象 //用于一個窗口讓用戶自定義輸入用戶名與密碼,在這里我直接定義好了 //public string uid; //public string pwd; public void load() { //直接寫鏈接語句,比較容易出錯 //conn = new MySqlConnection( // "Database = data;Server = localhost;Port = 3306;Password = " + pwd + ";UserID = " + uid + ";charset = utf8mb4"); //conn.Open(); //使用Builder寫語句,實現(xiàn)分段 //與數(shù)據(jù)庫連接的信息 MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder(); //數(shù)據(jù)庫連接時的用戶名,可以用pid builder.UserID = "root"; //數(shù)據(jù)庫連接時的密碼,可以用pwd builder.Password = "admin"; //數(shù)據(jù)庫連接時的服務器地址 builder.Server = "localhost"; //要連接的數(shù)據(jù)庫 builder.Database = "data"; //定義與數(shù)據(jù)連接的鏈接 conn = new MySqlConnection(builder.ConnectionString); //打開這個鏈接 conn.Open(); } } }
之后雙擊窗體中的button,定義輸入方法驗證連接。
private void button1_Click(object sender, EventArgs e) { //con.uid = textBox1.Text; //con.pwd = textBox2.Text; //調用load方法建立open連接 con.load(); //查詢語句,查詢用戶名與密碼,這里的ls可以是textBox1.Text string sql = "select * from user_info where username ='ls';"; con.comm = new MySqlCommand(sql, con.conn); con.dr = con.comm.ExecuteReader(); con.dr.Read(); //驗證密碼,同理,這里的123可以是textBox2.Text,因為我數(shù)據(jù)庫設置的密碼與賬號是ls 與 123 所以無論輸入什么都是登陸成功 if ("123" == con.dr.GetString("password")) { MessageBox.Show("登錄成功!"); con.dr.Close(); this.Close();//關閉此窗口,方便彈出主窗口 } else MessageBox.Show("登錄失??!"); }
如果你在connect中輸入信息有誤,一般會出現(xiàn)如下錯誤,此時就需要檢查賬號密碼是否正確
而如果數(shù)據(jù)庫輸入錯誤,會顯示這個錯誤
最后是相關數(shù)據(jù)庫,user_info表的結構,可以在引用完dll文件后后創(chuàng)建這個數(shù)據(jù)庫直接測試該C#窗體文件
另外,在壓縮包中還放入了一個簡易的具備CRUD功能的學生信息系統(tǒng),可以在深入學習后使用它進行體驗
下為學生信息的表結構,相關信息可以自己輸入
鏈接:https://pan.baidu.com/s/1Yg1aSgiydHQ1bevX5r3QCQ
提取碼:xyz3
以上就是C#連接Mysql數(shù)據(jù)庫詳細教程(內(nèi)附Mysql及Navicat)的詳細內(nèi)容,更多關于C#連接Mysql數(shù)據(jù)庫的資料請關注腳本之家其它相關文章!
相關文章
C#應用BindingSource實現(xiàn)數(shù)據(jù)同步的方法
這篇文章主要介紹了C#應用BindingSource實現(xiàn)數(shù)據(jù)同步的方法,需要的朋友可以參考下2014-08-08使用C#和Jieba.NET實現(xiàn)中英文混合文本關鍵詞的提取功能
Jieba.NET?是一個在?C#?中實現(xiàn)的分詞庫,它基于?Java?的?jieba?分詞庫,并進行了?C#?語言的移植,Jieba?是一個高效的中文分詞工具,能夠處理全模式、精確模式以及搜索引擎模式,本文給大家介紹了如何使用C#和Jieba.NET實現(xiàn)中英文混合文本關鍵詞的提取功能2025-03-03