最近在学习C#,刚好电脑里有mysql。打算将两者连接起来,用WPF写一个查询MySQL的工具,顺便巩固一下数据库增删改查的知识。
首先我们需要MySql.Data.MySqlClient.dll这个库。要安装一个MySQLDriverCS-n-EasyQueryTools-4.0.0-DotNet2.0 这东西可不太好找,只能去MySql的官方网站上下载。下载地址 mysql-connector-net-5.0.9.exe 如果不能下载的话,那就直接到官方网站上去下载。用VS添加引用,在安装文件目录,找到DLL文件。
①调用MySql.Data.MySqlClient库
using
② 数据库的连接
static string conStr = "server=127.0.0.1;port=3306;user=root;password=admin; database=world;CharSet=utf8;";//数据库的信息
/// 创建数据库连接
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Mysql_connect_Click(object sender, RoutedEventArgs e)
{
MySqlConnection connect = new MySqlConnection(conStr);
try
{
connect.Open();//建立连接,可能出现异常,使用try catch语句
MessageBox.Show("恭喜,已经建立连接!");
}
catch (MySqlException exe)
{
MessageBox.Show(exe.Message);//有错则报出错误
}
finally
{
connect.Close();//关闭通道
}
}
server=127.0.0.1;port=3306;user=root;password=admin;database=world;CharSet=utf8;
server表示本机地址,port表示端口,user表示数据库用户名,password表示数据库密码,database表示选择的数据库,charset表示该数据库的编码格式。这里有个坑,需要重点讲下。 Mysql默认的编码格式是utf8mb4,而MySqlClient这个库只能打开utf8编码的数据库,这里就需要把utf8mb4转换为utf8。网上有很多方法,就不展开了。
③接下来,我们来试下查询语句。
private void 读取_Click(object sender, RoutedEventArgs e)
{
MySqlConnection connect = new MySqlConnection(conStr); //创建一个数据库连接实例
connect.Open(); //打开数据库
string query = "SELECT NAME,CountryCode,district,PoPulation FROM city;"; //sql查询语句
MySqlCommand cmd = new MySqlCommand(query, connect); //将查询语句放进该数据库容器中
MySqlDataReader dataReader = cmd.ExecuteReader(); //创建一个实例保存查询出来的结构
}
④如何把查询结果显示出来呢,这个时候就要用到Datagird这个控件。
datagrid1.ItemsSource = dataReader; //在DataGrid控件中显示查询结果
⑤接下来是效果图。