一、安装mysql驱动
在vs2022中,右键项目 → 管理 nuget 程序包,搜索并安装“mysql.data”,这是mysql官方的ado.net驱动,安装后就可以直接使用了。

二、数据库连接配置
在app.config的<configuration> 节点内添加数据库配置信息。

<connectionstrings>
<add name="mydbconn"
connectionstring="server=localhost;port=3306;database=你的数据库名;uid=你的用户名;pwd=你的密码;"
providername="mysql.data.mysqlclient" />
</connectionstrings>字段说明
server:mysql服务器地址
port:数据库连接端口,默认是3306
database:要连接的数据库名
uid/pwd:mysql的用户名和密码
注意:providername必须是mysql.data.mysqlclient,少了这个配置管理器可能读不到。
三、实例

在代码顶部引入using mysql.data.mysqlclient; 和 using system.configuration;
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 system.xml.linq;
using static system.windows.forms.visualstyles.visualstyleelement.startpanel;
using mysql.data.mysqlclient;
using system.configuration;
namespace test
{
public partial class linkmysql : form
{
public linkmysql()
{
initializecomponent();
}
// 登录
private void login_click(object sender, eventargs e)
{
// 接收前端传过来的值
string username = this.username.text; // 用户名
string password = this.password.text; // 密码
// messagebox.show(username, "username");
// 从 app.config 读取连接字符串
string connstr = configurationmanager.connectionstrings["mydbconn"].connectionstring;
try
{
using (mysqlconnection conn = new mysqlconnection(connstr)) {
//打开连接
conn.open();
// 查询user表,使用占位符
string sql = "select * from user where username = @username and status = @status";
using (mysqlcommand cmd = new mysqlcommand(sql, conn)) {
// where条件
cmd.parameters.addwithvalue("@username", username);
cmd.parameters.addwithvalue("@status", 1);
// 读取数据行
using (mysqldatareader reader = cmd.executereader()) {
// 如果查到这个用户
if (reader.read())
{
//取出数据库中的密码
string dbpassword = reader["password"].tostring();
// 判断数据库中的密码
if (dbpassword == password)
{
messagebox.show("登录成功!", "提示", messageboxbuttons.ok, messageboxicon.information);
// 这里可以跳转新窗口
index index = new index();
this.hide(); // 隐藏当前窗口
index.showdialog(); // 显示新窗口(模态)
this.close(); // 新窗口关闭后,关闭当前窗口
}
else
{
messagebox.show("密码错误!", "提示", messageboxbuttons.ok, messageboxicon.warning);
}
}
else {
messagebox.show("用户不存在!", "提示", messageboxbuttons.ok, messageboxicon.warning);
}
}
}
}
}
catch (exception ex)
{
messagebox.show($"数据库连接失败:{ex.message}", "错误",messageboxbuttons.ok, messageboxicon.error);
}
}
}
}
到此这篇关于c#连接mysql数据库的完整过程的文章就介绍到这了,更多相关c#连接mysql数据库内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论