C#实习数据库连接

实验目标:

1、请设计一个项目连接到自己的MySQL数据库,数据库包含至少三张表;
2、使用dataGridView控件显示表中的数据;
3、实现基本crud操作。

实验过程:

插件更新

首先,在vs 2022中下载/更新相关插件。

代码实现

安装完成后,即可开始C#连接MySQL数据库的操作。

首先先设计好界面,增添所需的功能按钮及控件。

首先,在“表名”中输入数据库中的所需使用的表名。

再单击“打开连接”,使程序能够打开数据库,从而执行基本crud操作。

查询操作

        private void button2_Click(object sender, EventArgs e)
        {
            string sql = "select * from " + textBox5.Text;
            MySqlCommand cmd = new MySqlCommand(sql, connection);
            MySqlDataReader reader = cmd.ExecuteReader();

            //设置dataGridView的列
            dataGridView1.ColumnCount = 3;
            dataGridView1.ColumnHeadersVisible = true;

            dataGridView1.Columns[0].Name = "Cno";
            dataGridView1.Columns[1].Name = "Cname";
            dataGridView1.Columns[2].Name = "Avg";

            //根据查询结果像DataGridView中添加数据行
            while (reader.Read())
            {
                int index = this.dataGridView1.Rows.Add();
                this.dataGridView1.Rows[index].Cells[0].Value = reader.GetString("Cno");
                this.dataGridView1.Rows[index].Cells[1].Value = reader.GetString("Cname");
                this.dataGridView1.Rows[index].Cells[2].Value = reader.GetString("Avg");
            }
            //保证每次操作后,关闭连接。
            connection.Close();     
        }

增加操作

 完成增加操作之后需要再次连接数据库,查询相应表,才能在dataGridView中继续显示操作更新之后的新表。

同时,在左下角的textbox中也会显示相应操作转换后的SQL语句。

        private void button3_Click(object sender, EventArgs e)
        {
            string sql = "insert into " + textBox5.Text + " values (" + "'" + textBox1.Text + "','" + textBox2.Text + "'" + ",'" + textBox3.Text + "')";
            textBox4.Text = sql;
            MySqlCommand cmd = new MySqlCommand(sql, connection);
            cmd.ExecuteNonQuery();
            connection.Close();
        }

 删除操作

        private void button4_Click(object sender, EventArgs e)
        {
            //字段为字符窜时要加上单引号 ''
            string sql = "delete from " + textBox5.Text + " where Cno=" + "'" + textBox1.Text + "'";
            textBox4.Text = sql;
            MySqlCommand cmd = new MySqlCommand(sql, connection);
            cmd.ExecuteNonQuery();
            connection.Close();   
        }

修改操作

修改操作只会根据选择的课程号来修改输入平均分的数据。

        private void button5_Click(object sender, EventArgs e)
        {
            string sql = "update " + textBox5.Text + " set Avg=" + "'" + textBox3.Text + "'" + " where Cno=" + "'"+textBox1.Text+"'";
            textBox4.Text = sql;
            MySqlCommand cmd = new MySqlCommand(sql, connection);
            cmd.ExecuteNonQuery();
            connection.Close();        
        }

实验总结:

本次实验一开始按照老师所发的教程来安装MySQL连接的相关插件,在实操过程中,发现部分插件不支持vs 2022的最新版本,仅支持2017/2019的版本,在网上也并未找到有关的解决办法。后来,在班上同学的帮助下,才知道如何使用2022连接MySQL,从而开始正式的实验操作。

在实验中,一开始没有合理使用数据库的关闭功能,导致运行出现了问题,对表进行二次操作之后会导致程序无法正常退出。查询之后才知道是因为没有及时关闭数据库连接导致的。所以为了避免该情况出现,我在每次操作后都添加了该语句,能够保证每次自动关闭连接。

实验中也有一些小问题,比如输入的SQL语句没注意到变量的类型是字符型,而忘记了添加引号。

仓库地址:github链接

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值