Winform中连接Mysql8并查询表中数据进行显示
場景
在Winform中連接mysql數(shù)據(jù)庫,并查詢某個表中的所有數(shù)據(jù),在datagridview中顯示數(shù)據(jù)。
在連接之前,需要先搭建mysql8的數(shù)據(jù)庫環(huán)境。
Docker中部署Mysql8數(shù)據(jù)庫:
Docker中部署Mysql8數(shù)據(jù)庫_BADAO_LIUMANG_QIZHI的博客-CSDN博客
注:
博客:
BADAO_LIUMANG_QIZHI的博客_CSDN博客
關(guān)注公眾號
霸道的程序猿
獲取編程相關(guān)電子書、教程推送與免費(fèi)下載。
實(shí)現(xiàn)
1、新建Winform項(xiàng)目
依賴項(xiàng)右鍵-管理Nuget程序包-搜索Mysql.Data
然后安裝,這里連接的是Mysql8,所以選擇Mysql.Data為最新穩(wěn)定版8.0.26進(jìn)行安裝
安裝時需要進(jìn)行確認(rèn)
2、設(shè)計(jì)Winform窗體
設(shè)計(jì)Winform窗體如下
依次設(shè)置數(shù)據(jù)庫的ip地址和用戶名、密碼以及數(shù)據(jù)庫的名字,這樣就能建立連接了,然后再輸入表的名字,就能查詢該表的數(shù)據(jù)并
在下面的datagridview中顯示。
3、建立連接與關(guān)閉連接
首先聲明連接字符串和連接對象以及數(shù)據(jù)庫的相關(guān)參數(shù)
??????? string connetStr = String.Empty;MySqlConnection mySqlConnection = null;String hostaddress = String.Empty;String databaseName = String.Empty;String name = String.Empty;String pass= String.Empty;然后在建立連接按鈕的點(diǎn)擊事件中
??
????? private void connection_Click(object sender, EventArgs e){hostaddress = this.host.Text.Trim();databaseName = this.database.Text.Trim();name = this.username.Text.Trim();pass = this.password.Text.Trim();connetStr = "server= "+hostaddress+";UserId="+name+";password="+pass+";database="+databaseName; //localhost不支持ssl連接時,最后一句一定要加!!!mySqlConnection= new MySqlConnection(connetStr);try{mySqlConnection.Open(); //連接數(shù)據(jù)庫MessageBox.Show("數(shù)據(jù)庫連接成功", "提示", MessageBoxButtons.OK);}catch (MySqlException ex){MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK);???? //顯示錯誤信息}}在關(guān)閉連接的按鈕的事件中
??????? private void button2_Click(object sender, EventArgs e){mySqlConnection.Close();}4、查詢表中所有數(shù)據(jù)并展示
在查詢表所有數(shù)據(jù)的按鈕點(diǎn)擊事件中
??????? private void button1_Click(object sender, EventArgs e){string searchStr = "select * from "+this.tablename.Text;MySqlDataAdapter adapter = new MySqlDataAdapter(searchStr, mySqlConnection);DataSet dataSet = new DataSet();adapter.Fill(dataSet, "table1");this.dataGridView1.DataSource = dataSet.Tables["table1"];}查詢指定表的所有數(shù)據(jù)然后賦值給dataGridView作為數(shù)據(jù)源
5、連接并查詢數(shù)據(jù)
運(yùn)行程序,輸入數(shù)據(jù)的相關(guān)參數(shù)等,點(diǎn)擊連接按鈕
然后輸入數(shù)據(jù)庫中某個表名,點(diǎn)擊查詢表所有數(shù)據(jù)
6、完整示例代碼
using System; using System.Data; using System.Windows.Forms; using System.Windows.Forms.VisualStyles; using MySql.Data.MySqlClient; namespace mysqldatabak {public partial class Form1 : Form{string connetStr = String.Empty;MySqlConnection mySqlConnection = null;String hostaddress = String.Empty;String databaseName = String.Empty;String name = String.Empty;String pass= String.Empty;public Form1(){InitializeComponent();}private void connection_Click(object sender, EventArgs e){hostaddress = this.host.Text.Trim();databaseName = this.database.Text.Trim();name = this.username.Text.Trim();pass = this.password.Text.Trim();connetStr = "server="+ hostaddress+";User Id="+name+";password="+pass+";database="+databaseName; //localhost不支持ssl連接時,最后一句一定要加!!!mySqlConnection= new MySqlConnection(connetStr);try{mySqlConnection.Open(); //連接數(shù)據(jù)庫MessageBox.Show("數(shù)據(jù)庫連接成功", "提示", MessageBoxButtons.OK);}catch (MySqlException ex){MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK);???? //顯示錯誤信息}}private void button1_Click(object sender, EventArgs e){string searchStr = "select * from "+this.tablename.Text;MySqlDataAdapter adapter = new MySqlDataAdapter(searchStr, mySqlConnection);DataSet dataSet = new DataSet();adapter.Fill(dataSet, "table1");this.dataGridView1.DataSource = dataSet.Tables["table1"];}private void button2_Click(object sender, EventArgs e){mySqlConnection.Close();}} }總結(jié)
以上是生活随笔為你收集整理的Winform中连接Mysql8并查询表中数据进行显示的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot集成OpenOffi
- 下一篇: ERROR 2059 (HY000):