計畫目的:
連線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