C#连接MySQL数据库遇到的问题

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();
            }

第一次在CSDN上分享,如有不足希望大家提出!!!

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是C#连接MySQL数据库的步骤和示例代码: 1. 首先需要安装MySQL Connector/NET,可以在MySQL官网下载安装包进行安装。 2. 在C#项目中添加对MySQL Connector/NET的引用。 3. 在代码中使用以下代码进行连接: ```csharp using MySql.Data.MySqlClient; string connStr = "server=127.0.0.1;port=3306;user=root;password=power123;database=my_data;"; MySqlConnection conn = new MySqlConnection(connStr); try { conn.Open(); Console.WriteLine("MySQL连接成功!"); } catch (MySqlException ex) { Console.WriteLine("MySQL连接失败:" + ex.Message);} finally { conn.Close(); } ``` 其中,`connStr`是连接字符串,包含了MySQL服务器的IP地址、端口号、用户名、密码和数据库名。`MySqlConnection`是MySQL Connector/NET提供的连接对象,通过`Open()`方法打开连接,`Close()`方法关闭连接。 4. 连接成功后,可以使用`MySqlCommand`对象执行SQL语句,例如: ```csharp string sql = "SELECT * FROM my_table"; MySqlCommand cmd = new MySqlCommand(sql, conn); MySqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Console.WriteLine(reader.GetString(0) + "\t" + reader.GetString(1)); } reader.Close(); ``` 其中,`sql`是要执行的SQL语句,`MySqlCommand`是MySQL Connector/NET提供的执行对象,通过`ExecuteReader()`方法执行SQL语句并返回一个`MySqlDataReader`对象,通过`Read()`方法读取查询结果。 5. 可以使用`DataGridView`控件显示查询结果,例如: ```csharp string sql = "SELECT * FROM my_table";MySqlDataAdapter adapter = new MySqlDataAdapter(sql, conn); DataSet ds = new DataSet(); adapter.Fill(ds, "my_table"); dataGridView1.DataSource = ds.Tables["my_table"]; ``` 其中,`MySqlDataAdapter`是MySQL Connector/NET提供的数据适配器对象,通过`Fill()`方法将查询结果填充到`DataSet`对象中,然后将`DataSet`对象中的表绑定到`DataGridView`控件上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值