C#连接MySQL数据库遇到的问题
使用VS2019和MySQL5.7进行连接,在winform窗体中输入的信息一直无法和数据库中的内容进行匹配,给大家分享一下我的经验,希望可以帮助到大家。
MySql.Data.dll文件
如果我们想在VS中和MySQL进行连接,需要导入Mysql.Data.dll,该文件可以在官网直接下载: https://dev.mysql.com/downloads/connector/net/.
我目前下载的是8.0.22版本
对下载下来的文件进行解压,可以发现其中有两个文件夹,分别为v4.5.2和v4.8,
两个文件夹中都有MySQL.Data.dll文件,此时我们查询一下我们电脑的.Net.Framework版本号,方法如下:https://zhidao.baidu.com/question/567848213.html.
可以看到我们是4.8版本的,之后就使用v4.8文件夹下的MySQL.Data.dll文件,将该文件添加到项目中的引用中,对引用右键如图所示,
,点击浏览,将文件添加到引用中
之后再添加
可以与数据库进行连接。
与数据库进行连接
在与数据库的连接中我遇到了很多问题,最初使用select语句查询一直查不到数据库的内容,我曾经一度以为自己的数据库连接方式出现了问题,直到我用insert语句向数据库中插入一条数据后,发现数据库中多了一条我插入的内容。
此刻我才知道数据库已经连接成功,只不过没有读取到数据库中的内容,对于我插入的数字是可以完全读取到,汉字部分却都是?,相信熟悉编程的童鞋已经知道此刻问题出在哪里,加上这句话 Charset=utf8后,可以正常进行数据库的增删改查的工作。
以下代码写在主函数中,可以与数据库进行正常的操作。
string connString = "server=localhost;database=demo;uid=root;pwd=123456;Charset=utf8";
MySqlConnection conn = new MySqlConnection(connString);
try
{
conn.Open();//连接数据库
Console.WriteLine("已建立连接!");
string sql ="SELECT * FROM students where Name='张三' and Password='123456'";
MySqlCommand cmd = new MySqlCommand(sql, conn);
int result = cmd.ExecuteNonQuery();
if (result > 0)
{
Console.WriteLine("res");
}
// Console.WriteLine("连接成功!");
}
catch (MySqlException ex)
{
Console.WriteLine(ex.Message);
}
finally
{
conn.Close();
}
第一次在优快云上分享,如有不足希望大家提出!!!