提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
提示:以下是本篇文章正文内容,下面案例可供参考
要求
1.请设计一个项目连接到自己的MySQL数据库,数据库包含至少三张表;
2.使用dataGridView控件显示表中的数据;
3.实现基本crud操作;
一、VS2022连接MySQL
二、编写代码流程
1.设计界面
需要5个button和1个DataGridView
2.引入库
代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
3.连接数据库
代码如下:
private MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
private MySqlConnection connection;
private void button1_Click(object sender, EventArgs e)
{
builder.UserID = "root";
builder.Password = "nishizhende6";//密码
builder.Server = "localhost";
builder.Database = "student_course";//数据库名
connection = new MySqlConnection(builder.ConnectionString);
try
{
//打开数据库连接
connection.Open();
MessageBox.Show("数据库已连接!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
4.查询
代码如下:
private void button5_Click(object sender, EventArgs e)
{
string sql = "select * from Student";
MySqlDataAdapter mda = new MySqlDataAdapter(sql, connection);
DataSet ds = new DataSet();
mda.Fill(ds, "Student");
dataGridView1.DataSource = ds.Tables["Student"];
}
5.增加
代码如下:
private void button2_Click(object sender, EventArgs e)
{
string sql = "insert into Student values('201225311','张未','男','19','PE')";
string sql1 = "insert into Student values('201225231','刘经','男','20','PE')";
MySqlDataAdapter mda = new MySqlDataAdapter(sql, connection);
MySqlDataAdapter mda1 = new MySqlDataAdapter(sql1, connection);
DataSet ds = new DataSet();
mda.Fill(ds, "Student");
mda1.Fill(ds, "Student");
}
6.删除
代码如下:
private void button3_Click(object sender, EventArgs e)
{
string sql = "delete from Student where Sname='张强'";
MySqlDataAdapter mda = new MySqlDataAdapter(sql, connection);
DataSet ds = new DataSet();
mda.Fill(ds, "Student");
}
7.修改
代码如下:
private void button4_Click(object sender, EventArgs e)
{
string sql = "update Student set Sage = '25' where Sname='王五'";
MySqlDataAdapter mda = new MySqlDataAdapter(sql, connection);
DataSet ds = new DataSet();
mda.Fill(ds, "Student");
}
8.完整代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace 实验报告
{
public partial class Form1 : Form
{
private MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
private MySqlConnection connection;
public Form1()
{
InitializeComponent();
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
builder.UserID = "root";
builder.Password = "nishizhende6";//密码
builder.Server = "localhost";
builder.Database = "student_course";//数据库名
connection = new MySqlConnection(builder.ConnectionString);
try
{
//打开数据库连接
connection.Open();
MessageBox.Show("数据库已连接!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void button2_Click(object sender, EventArgs e)
{
string sql = "insert into Student values('201225311','张未','男','19','PE')";
string sql1 = "insert into Student values('201225231','刘经','男','20','PE')";
MySqlDataAdapter mda = new MySqlDataAdapter(sql, connection);
MySqlDataAdapter mda1 = new MySqlDataAdapter(sql1, connection);
DataSet ds = new DataSet();
mda.Fill(ds, "Student");
mda1.Fill(ds, "Student");
}
private void button3_Click(object sender, EventArgs e)
{
string sql = "delete from Student where Sname='张强'";
MySqlDataAdapter mda = new MySqlDataAdapter(sql, connection);
DataSet ds = new DataSet();
mda.Fill(ds, "Student");
}
private void button4_Click(object sender, EventArgs e)
{
string sql = "update Student set Sage = '25' where Sname='王五'";
MySqlDataAdapter mda = new MySqlDataAdapter(sql, connection);
DataSet ds = new DataSet();
mda.Fill(ds, "Student");
}
private void button5_Click(object sender, EventArgs e)
{
string sql = "select * from Student";
MySqlDataAdapter mda = new MySqlDataAdapter(sql, connection);
DataSet ds = new DataSet();
mda.Fill(ds, "Student");
dataGridView1.DataSource = ds.Tables["Student"];
}
}
}
总结
这次实验需要连接mysql在c#上利用窗口化来实现一些功能,只需按照上述过程就可以完成,要想熟练运用则需要掌握一些mysql基本语句。
仓库地址
https://gitee.com/liupeng321/gitee-liupeng