实验目标:
1、请设计一个项目连接到自己的MySQL数据库,数据库包含至少三张表;
2、使用dataGridView控件显示表中的数据;
3、实现基本crud操作;
实验过程:
1、请设计一个项目连接到自己的MySQL数据库,数据库包含至少三张表;
* vs2020连接MySQL
点击“管理解决方案的NuGet程序包”
输入mysql搜索
点击第一个安装,就可以连接上MySQL了
注:打开工具之前要点击“程序包管理器控制台”进行初始化操作
在写代码之前需要加入
using MySql.Data.MySqlClient;
并且使用MySqlConnectionStringBuilder和MySqlConnection实例化对象,再调用自带的属性进行数据库的登录
格式如下:
我连接的数据库名称为test_db, 以下是数据库中表的截图(在navicat中查看)
2、使用dataGridView控件显示表中的数据;
首先要设置一下dataGridView的一些属性
另外,dataGridView默认会使用灰底作为背景,我因为觉得看的不太美观,在dataGridView的属性BackgroundColor修改为高光的白色背景
看着比较方便
再进行对表的查看
查看course表
查看表serachr
查看表modifyr
3、实现基本crud操作;
在Form中我加入了三个文本框,textBox1,textBox2,textBox3,用来输入增加,删除,修改的内容
①查询操作
在Form1中我加入了文本框textBox5,在其中输入表名后点击查询,即可在dataGridView中显示所查询表的信息
具体的代码实现如下
在这里我对表searchr进行查询
再在navicat中查看表search,进行验证
可以发现查询的结果相同,查询操作验证成功
②增加操作
对于表course,加入元组(‘9’,‘操作系统’,‘4’)
点击“增加”按钮
再在navicat中查看增加后表的结果
可以发现表中已经增加了元组(‘9’,‘操作系统’,‘4’),验证成功
③修改操作
我这里实现的是,只需要输入需要修改的课程号,再输入需要修改的内容就可以实现修改操作
这里我对于课程号为9的‘操作系统’课程,我将课程名修改为‘离散数学’,课程学分修改为3
再在navicat中查看是否更新完成
可以看到课程号为9的课程名和课程学分已经被修改,验证成功
④删除操作
这里实现的是对于输入的指定课程号,将对应课程号的课程进行删除
这里我对于课程号为3的课程进行删除操作,原表中课程号为3的课程名为‘数据结构’,课程学分为3
再在navicat中查看对表删除的结果
可以发现课程号为3,课程名为‘数据结构’,课程学分为3的元组已被删除,验证成功
完整代码已发在git仓库,链接:数据库连接.cs · 明日香/Asuka - 码云 - 开源中国 (gitee.com)
实验总结:
在本次实验中,开始连接数据库的过程,网络上很多都是连接vs2017和2019,没有关于vs2022连接MySQL的插件,后来通过同学的分享成功连接上了数据库,在编写代码的过程中,对于数据库的连接和关闭方面也遇到了困难,开始我本想只写一个connect.close()来关闭连接,但是实际使用时,在对于一个表先后进行操作后会报错,在经过网络上查找后发现对一个表同时进行多个操作会发生锁表现象,于是我将关闭连接的语句写在了每一次对表操作之后,并且单独加入了连接数据库的按钮,每一次操作完就重新连接一次数据库进行下次操作。最后也是成功完成了对表的crud操作,完成了实验。