目录
引言
上一周花了几天时间学习了mysql数据库的基础部分,今天学习了C#调用mysql数据库,
做个简单的笔记,因为看到博客上的入门文章质量并不算高,那就我来写一个吧。
该小项目可以实现对数据库可视化,并进行增删改查同步到数据库中。
准备
开始之前,需要先添加MySql.Data引用
在using把MySql.Data,MySql.Data.MySqlClient,System.Data三个命名空间包括进来。
在添加引用前,需要安装库文件
方法一
- 下载mysql.data.dll:http://soft.onlinedown.net/soft/618668.htm
- 将文件放在项目目录下
- 在VS2019项目内,引用mysql.data.dll文件
方法二
vs2019用户可以右键点击你项目的解决方案,选择管理NuGet程序包
游览搜索mysql安装第一个,然后就可以添加引用了
界面设计
代码设计
public partial class Form1 : Form
{
MySqlConnection conn; //连接数据库对象
MySqlDataAdapter adapter; //适配器变量
DataSet set; //临时数据集
public Form1()
{
InitializeComponent();
}
//导入数据按钮
private void button1_Click(object sender, EventArgs e)
{
string sqlStr = "select * from stuinfo";
//创建适配器对象,其是连接数据集以及数据库之间的一个接口
adapter = new MySqlDataAdapter(sqlStr, conn);
//数据集、本地微型数据库可以存储多张表。
set = new DataSet();
//从数据库的stuinfo表中取出数据
adapter.Fill(set, "stuinfo");
//将取出的数据做为dataGridView1的数据源
dataGridView1.DataSource = set;
dataGridView1.DataMember = "stuinfo";
}
//更新数据按钮
private void button2_Click(object sender, EventArgs e)
{
if (adapter == null || set == null) //先导入数据才能更新数据。
{
MessageBox.Show("请先导入数据");
return;
}
try
{
string msg = "确实要更新吗?";
if (1 == (int)MessageBox.Show(msg, "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation))
{
MySqlCommandBuilder builder = new MySqlCommandBuilder(adapter); //命令生成器。
//适配器会自动更新用户在表上的操作到数据库中
adapter.Update(set, "stuinfo");
MessageBox.Show("更新成功", "提示");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "错误信息");
}
}
//查询按钮
private void button3_Click(object sender, EventArgs e)
{
string sql = textBox1.Text;
adapter = new MySqlDataAdapter(sql, conn);
//数据集、本地微型数据库可以存储多张表。
set = new DataSet();
//从数据库的stuinfo表中取出数据
adapter.Fill(set, "stuinfo");
//将取出的数据做为dataGridView1的数据源
dataGridView1.DataSource = set;
dataGridView1.DataMember = "stuinfo";
}
//连接数据库按钮
private void button4_Click(object sender, EventArgs e)
{
//connStr连接数据库的登录信息
string connStr = "server = localhost; user = root; database = students; port = 3306; password = 5250";
//创建连接数据库的对象
conn = new MySqlConnection(connStr);
try
{
//连接到数据库
conn.Open();
MessageBox.Show("连接成功");
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
//删除按钮
private void button5_Click(object sender, EventArgs e)
{
//获取单元格所选行索引
int i = dataGridView1.SelectedCells[0].RowIndex;
//删除该行
dataGridView1.Rows.RemoveAt(i);
}
}
演示结果
点击连接数据库
点击导入数据
在表上可以直接修改数据, 修改后点击更新数据按钮就同步到数据库。
在下面的输入框中输入查询语句,点击查询会在表中显示结果。
点击删除按钮会删除鼠标选中行,点击更新将其同步到数据库。