VS2019 C# MySQL 学生信息增删改查
由于刚刚学习VS2019,入手的第一个例子是编写一个简单的增删改查。这里,我以学生信息为例,进行详细的过程描述以及代码实现。
一、 新建一个Windows窗体应用程序
1、创建新项目界面,如下图所示。
2、更改项目名称,当然不修改也可以。我这里的是“StudentInfoSystem”;项目存放位置路径根据自己需要进行更改;“将解决方案和项目放在同一目录中”前面的勾选框,选不选都可以;点击“创建”,如下图所示。
二、前期准备工作
1、将Form1属性中的Text的“Form1”改为“学生管理系统首页”,并从工具箱中拖入4个Button按钮放在设计界面上,如下图所示。分别将“button1”、“button2”、“button3”、“button4”属性中的(Name)改为“BtnZeng”、“BtnShan”、“BtnGai”、“BtnCha”,并分别将其属性中的Text改为“增加”、“删除”、“修改”、“查看”。
2、(1)鼠标选中“StudentInfoSystem”,右击选中“添加”,找到“窗体(Windows窗体)”,如下图所示。
(2)增加4个Form设计界面,分别将其属性中的(Name)改为FormZengJia、FormShanChu、FormXiuGai、FormChaKan,并分别修改其属性Text为“增加”、“删除”、“修改”、“查看”,如下图所示。
3、分别双击增加、删除、修改、查看四个按钮,将4个设计界面连接到主界面上,添加代码,如下。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void BtnZeng_Click(object sender, EventArgs e)
{
FormZengJia zengJia = new FormZengJia();
zengJia.Show();
}
private void BtnShan_Click(object sender, EventArgs e)
{
FormShanChu shanChu = new FormShanChu();
shanChu.Show();
}
private void BtnGai_Click(object sender, EventArgs e)
{
FormXiuGai xiuGai = new FormXiuGai();
xiuGai.Show();
}
private void BtnCha_Click(object sender, EventArgs e)
{
FormChaKan chaKan = new FormChaKan();
chaKan.Show();
}
}
三、建立数据库
我用的是MySQL。
1、新建数据库,如下图所示。
2、数据库表设计,如下图所示。
四、增
1、在FormZengJia界面中拖入控件,如下图所示。
2、修改TextBox以及Button中的相应属性,如下图所示。
3、双击“增加一条记录”按钮,进入代码界面,首先的工作就是引入,右击“引用”,选择“添加引用 | 浏览”,找到自己安装MySQL文件中的“MySql.Data.dll”,如下图所示。
4、在头文件中将“using MySql.Data.MySqlClient;”引入进来,如下。
using MySql.Data.MySqlClient;
5、代码如下:
private void BtnZeng_Click(object sender, EventArgs e)
{
String connectStr = "server=localhost;database=studentinfosystem;user=root;password=123456;port=3306;charset=utf8";
//server=127.0.0.1或localhost。database是我的数据库名,studentinfosystem是新建的数据库名。
//我这里的user是root,密码是123456(安装MySQl时自己设置的密码)。端口号port一般都是3306。
//charset字符集一定要加,不加的话,虽然连接成功,但如果含有中文,就显示不了中文内容。
MySqlConnection conn = new MySqlConnection(connectStr);
conn.Open();//打开通道,建立连接
//下面主要就是条件判断
if (tbno.Text == "")
{
MessageBox.Show("学号不能为空");
}
else if (tbname.Text == "")
{
MessageBox.Show("姓名不能为空");
}
else if (tbno.Text != "" && tbname.Text != "")
{
string str = "";
if (tbdept.Text.Trim().Length == 0 && tbbirth.Text.Trim().Length == 0)
{
str = "insert into info(学号,姓名) values('" + tbno.Text + "','" + tbname.Text + "')";//info是数据库表名
}
else if (tbdept.Text.Trim().Length == 0 && tbbirth.Text.Trim().Length > 0)
{
str = "insert into info(学号,姓名,出生日期) values('" + tbno.Text + "','" + tbname.Text + "','" + tbbirth.Text + "')";
}
else if (tbdept.Text.Trim().Length > 0 && tbbirth.Text.Trim().Length == 0)
{
str = "insert into info(学号,姓名,专业) values('" + tbno.Text + "','" + tbname.Text + "','" + tbdept.Text + "')";
}
else if (tbdept.Text.Trim().Length > 0 && tbbirth.Text.Trim().Length > 0)
{
str = "insert into info(学号,姓名,专业,出生日期) values('" + tbno.Text + "','" + tbname.Text + "','" + tbdept.Text + "','" + tbbirth.Text + "')";
}
try
{
MySqlCommand cmd = new MySqlCommand(str, conn);
cmd.ExecuteNonQuery();
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
}
int s = 1;
if (s == 1)
{
MessageBox.Show("成功增加一条记录");
tbno.Clear();
tbname.Clear();
tbdept.Clear();
tbbirth.Clear();//清空TextBox中的数据
}
}
conn.Close();
}
6、点击“启动”,添加一条记录看看效果,显示“成功增加一条记录”,回到数据库表中,刷新一下,发现刚刚添加的记录已经成功保存到数据库表中了,如下图所示。
五、删
1、在FormShanChu界面中拖入控件,更改相应的属性,如下图所示。
2、双击“删除一条记录”按钮,进入代码界面,在头文件中将“using MySql.Data.MySqlClient;”引入进来。
3、代码如下:
private void BtnDelete_Click(object sender, EventArgs e)
{
String connectStr = "server=localhost;database=studentinfosystem;user=root;password=123456;port=3306;charset=utf8";
//server=127.0.0.1或localhost。database是我的数据库名,studentinfosystem是新建的数据库名。
//我这里的user是root,密码是123456(安装MySQl时自己设置的密码)。端口号port一般都是3306。
//charset字符集一定要加,不加的话,虽然连接成功,但如果含有中文,就显示不了中文内容。
MySqlConnection conn = new MySqlConnection(connectStr);
conn.Open();//打开通道,建立连接
//下面主要是条件判断
string str = "";
if (tbno.Text.Trim().Length == 0 && tbname.Text.Trim().Length == 0)
{
MessageBox.Show("请输入要删除的学号或姓名!");
}
else if (tbno.Text.Trim().Length > 0 && tbname.Text.Trim().Length == 0)
{
str = "delete from info where 学号='" + tbno.Text + "'";//按“学号”删除
}
else if (tbno.Text.Trim().Length == 0 && tbname.Text.Trim().Length > 0)
{
str = "delete from info where 姓名='" + tbname.Text + "'";//按“姓名”删除
}
else if (tbno.Text.Trim().Length > 0 && tbname.Text.Trim().Length > 0)
{
str = "delete from info where 学号='" + tbno.Text + "'and 姓名='" + tbname.Text + "'";//按“学号+姓名”删除
}
try
{
MySqlCommand cmd = new MySqlCommand(str, conn);
cmd.ExecuteNonQuery();
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
}
int s = 1;
if (s == 1)
{
MessageBox.Show("删除成功");
tbno.Clear();
tbname.Clear();//清空
}
conn.Close();
}
4、点击“启动”,删除一条记录看看效果,显示“删除成功”,回到数据库表中,刷新一下,发现刚刚删除的记录已经成功删除,如下图所示。