當前位置: 妍妍網 > 碼農

C#連線MySQL資料庫例項

2024-02-11碼農

計畫目的:

連線mysql查詢數據並將數據顯示到界面的datagridview裏面.

Step1:添加動態連結庫檔

Visual Studio,在 計畫(右鍵)-管理NuGet程式包(N) 然後在瀏覽裏面搜尋MySql.Data並進行安裝。

Step2:using所需要的庫

using MySql.Data.MySqlClient;

step3:建立連線(MySqlConnection類)

using MySql.Data.MySqlClient; public MySqlConnection connect() { String connetStr = "server=127.0.0.1;port=3306;user=root;password=a123456.; database=thzdb;"; MySqlConnection con = new MySqlConnection(connetStr); con.Open(); Console.WriteLine("資料庫連線成功");return con; }

step4:數據查詢並顯示

Sql查詢語句獲取的數據是分格式的,我們還用SqlDataReader來做,然後用IDataReader來接收讀取,

.net中的DataGridView類是一個功能全面的顯示數據集合的控制項;繫結到DataGridView的方式有DataTable,DataSet,實作了IList<T>介面的類等;下面說一下如何簡單地將List<T>中的數據繫結到DataGridView中.

//Movie域物件,內容有Name, Category, ReleaseRegon,Director等;//List<T>的非泛型化類是ArrayList.IList<Movie> movieList = new List<Movie>();//......this.dataGridView.DataSource = movieList;

透過這兩行,在視窗界面就能看到數據能顯示到列表中了,欄標題名稱就是Movie中欄位的名稱;若想客製化具體的欄名可透過DataGridViewRow類或其它方式實作.

以下是程式碼:

privatevoidmainForm_Load(object sender, EventArgs e) {//我想查詢一個使用者表的資訊,該使用者有姓名,密碼,資訊三列//1.定義一個使用者型別的List陣列,userInfo類的程式碼在下方 List<userInfo> userInfo = new List<userInfo>();//2.我們要讀取查詢語句的數據,並且保存了。這裏我們將使用IDataReader語句//資料庫類的例項,類的程式碼在下方 DB db = new DB();//解析方法using (IDataReader read = db.read("select * from userInfo")) {while (read.Read()) { userInfo a = new userInfo(); a.user_Name = read[0].ToString(); a.user_Passwd = read[1].ToString(); a.user_region = read[2].ToString(); userInfo.Add(a); } }this.dataGridView1.DataSource = userInfo;//將List的數據繫結到DataGridView中 }

userInfo類的程式碼:

public classuserInfo {publicstring user_Name { get; set; }publicstring user_Passwd { get; set; }publicstring user_region { get; set; } }

DB類的程式碼:

using System;using MySql.Data.MySqlClient;namespaceWindowsFormsApp14{public classDB {//資料庫操作//1.連線資料庫public MySqlConnection connect() { String connetStr = "server=127.0.0.1;port=3306;user=root;password=a123456.; database=thzdb;"; MySqlConnection con = new MySqlConnection(connetStr); con.Open(); Console.WriteLine("資料庫連線成功");return con; }//執行語句的資料庫方法public MySqlCommand command(string sql) { MySqlCommand cmd = new MySqlCommand(sql, connect());return cmd; }//行數影響的方法publicintExecute(string sql) {return command(sql).ExecuteNonQuery(); }//返回查詢結果的方法public MySqlDataReader read(string sql) {return command(sql).ExecuteReader(); } }}

mysql中建立數據:

insertinto thzdb.userinfo values('zyr1','a123456','陜西商洛');

執行後的結果:

百度網盤下載地址:

連結:https://pan.baidu.com/s/16_jA2ObvFlVAfF3ENDNiOw

提取碼:xhlq