C# 实现数据库连接
Git仓库 https://github.com/mostimacc/-.git
实验目标:
1、请设计一个项目连接到自己的MySQL数据库,数据库包含至少三张表;
2、使用dataGridView控件显示表中的数据;
3、实现基本crud操作。
实验过程:
界面设计

首先,在下方空格中输入数据库中的所需使用的表名。
再单击“开始连接”,使程序能够打开数据库,从而执行基本crud操作。
private void button1_Click(object sender, EventArgs e)
{
builder.UserID = "root";
builder.Password = "20010915";
builder.Server = "localhost";
builder.Database = "test01";
connection = new MySqlConnection(builder.ConnectionString);
connection.Open();
}
查询的实现:
string sql = "select * from " + textBox5.Text; MySqlCommand cmd = new MySqlCommand(sql, connection); MySqlDataReader reader = cmd.ExecuteReader(); //设置dataGridView的列 dataGridView1.ColumnCount = 5; dataGridView1.ColumnHeadersVisible = true; dataGridView1.Columns[0].Name = "Sno"; dataGridView1.Columns[1].Name = "Sname"; dataGridView1.Columns[2].Name = "Ssex"; dataGridView1.Columns[2].Name = "Sage"; dataGridView1.Columns[2].Name = "Sdept"; //根据查询结果像DataGridView中添加数据行 while (reader.Read()) { int index = this.dataGridView1.Rows.Add(); this.dataGridView1.Rows[index].Cells[0].Value = reader.GetString("Sno"); this.dataGridView1.Rows[index].Cells[1].Value = reader.GetString("Sname"); this.dataGridView1.Rows[index].Cells[2].Value = reader.GetString("Ssex"); this.dataGridView1.Rows[index].Cells[3].Value = reader.GetString("Sage"); this.dataGridView1.Rows[index].Cells[4].Value = reader.GetString("Sdept"); } //保证每次操作后,关闭连接。 connection.Close();

修改的实现:
string sql = textBox5.Text; MySqlCommand cmd = new MySqlCommand(sql, connection); cmd.ExecuteNonQuery();
connection.Close();

插入的实现:
string sql = textBox5.Text;
MySqlCommand cmd = new MySqlCommand(sql, connection);
cmd.ExecuteNonQuery();
connection.Close();
![]()
删除的实现
string sql = textBox5.Text;
MySqlCommand cmd = new MySqlCommand(sql, connection);
cmd.ExecuteNonQuery();
connection.Close();


实验总结:
本次实验一开始按照老师所发的教程来安装MySQL连接的相关插件,在实操过程中,发现部分插件不支持vs 2022的最新版本,仅支持2017/2019的版本,在网上也并未找到有关的解决办法。后来,重新安装了2019版本,完成了实验。
在实验中,一开始没有合理使用数据库的关闭功能,导致运行出现了问题,对表进行二次操作之后会导致程序无法正常退出。查询之后才知道是因为没有及时关闭数据库连接导致的。所以为了避免该情况出现,我在每次操作后都添加了该语句,能够保证每次自动关闭连接。
实验中也有一些小问题,比如输入的SQL语句没注意到变量的类型是字符型,而忘记了添加引号。


浙公网安备 33010602011771号