1.解决方案资源管理器->右键->管理NuGet程序包->搜索, 安装Mysql.Data
2.解决方案资源管理器->右键->添加->引用->浏览->
C:\Program Files (x86)\MySQL\MySQL Installer for Windows
->选择->MySql.Data.dll
3.解决方案资源管理器->右键->添加->新建项->类->取名Dao(类名可以改)->加入代码
public MySqlConnection sc;//数据库连接对象public MySqlConnection connect()//连接数据库{string str = String.Format("server=localhost;uid=root;pwd=123456;database=Book;charset=utf8");sc = new MySqlConnection(str);sc.Open();return sc;}public MySqlCommand command(string sql)//执行一条sql语句{MySqlCommand cmd = new MySqlCommand(sql, connect());return cmd;}public int Excute(string sql)//获取执行sql语句后 数据库表中数据条数的更新数量{return command(sql).ExecuteNonQuery();}public MySqlDataReader read(string sql)//读取数据库中的数据{return command(sql).ExecuteReader();}public void DaoClose()//关闭数据库{sc.Close();}
加入代码
using MySql.Data.MySqlClient;
server=服务器名;uid=用户名;pwd=密码;database=数据库;charset=utf8(可改为其它的编码)。
其中charset防止中文数据的插入会在数据库表中乱码显示。
Dao类文件完整代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Data.SqlClient;
using System.Data;
using MySql.Data.MySqlClient;namespace ManageBook
{class Dao{public MySqlConnection sc;//数据库连接对象public MySqlConnection connect()//连接数据库{string str = String.Format("server=localhost;uid=root;pwd=123456;database=Book;charset=utf8");sc = new MySqlConnection(str);sc.Open();return sc;}public MySqlCommand command(string sql)//执行一条sql语句{MySqlCommand cmd = new MySqlCommand(sql, connect());return cmd;}public int Excute(string sql)//获取执行sql语句后 数据库表中数据条数的更新数量{return command(sql).ExecuteNonQuery();}public MySqlDataReader read(string sql)//读取数据库中的数据{return command(sql).ExecuteReader();}public void DaoClose()//关闭数据库{sc.Close();}}
}
向数据库中插入数据,注册例子
//注册按钮事件private void btnLogon_Click(object sender, EventArgs e){//判读注册时所填入的信息是否有空项if (txtIDCard.Text == "" || txtName.Text == "" || txtTel.Text == "" || txtPwd.Text == "" || txtAgainPwd.Text == "" || cobSex.Text == ""){//提示:有空项MessageBox.Show("有空项","消息",MessageBoxButtons.OK,MessageBoxIcon.Warning);return;}//注册 获取数据库中账号的最大值 然后加 1Dao dao = new Dao();dao.connect();//连接并打开数据库string sql = "select MAX(Uid) from T_User";MySqlDataReader reader = dao.read(sql);reader.Read();int id = int.Parse(reader[0].ToString())+1;//注册的账号string name = txtName.Text;string idCard = txtIDCard.Text;string tel = txtTel.Text;string sex = cobSex.Text;string pwd = txtPwd.Text;//进行添加sql = $"insert into T_User values('{id}','{name}','{pwd}','{sex}','{idCard}','{tel}','1')";if (dao.Excute(sql) > 0){//注册成功MessageBox.Show("注册成功", "消息", MessageBoxButtons.OK, MessageBoxIcon.Information);}else{MessageBox.Show("注册失败", "消息", MessageBoxButtons.OK, MessageBoxIcon.Warning);}reader.Close();dao.DaoClose();}
如果sc.Open();打开数据库报错时,试试删除引用MySql.Data,再重新添加。