首页 > 代码库 > C#链接mysql 新手容易出错的问题
C#链接mysql 新手容易出错的问题
1.Access denied for user ‘root‘@‘DESKTOP-AN72KEI‘ (using password: YES)
出现这个问题的原因是因为mysql的自带用户root理论上是不允许对外访问的,只能本地访问,如果需要访问该用户,需要修改一些mysql的配置文件,最好是使用自己新建的用户并且赋予管理员权限。
2.No database selected
出现这个错的原因是数据库没有找到对应的数据,这里需要对结果做一个是否为空的判断。,并且一定要注意的是连接字符串中需要指定数据库,不然也可能会出现这样的错误。
3.语句的参数化
DEMO如下:
string conn = "server=192.168.60.128;database=mysql_test;User Id=sqlAdmin;password=123"; using (MySqlConnection mconn = new MySqlConnection(conn)) { mconn.Open(); //string sql = "SELECT t.sName FROM student t WHERE t.sid =2"; string sql = "SELECT t.sName FROM student t WHERE t.sid =?id"; MySqlCommand mcomm = new MySqlCommand(sql, mconn); mcomm.Parameters.Add("id", MySqlDbType.Int32); mcomm.Parameters["id"].Value = http://www.mamicode.com/2; var res = mcomm.ExecuteScalar(); if (res == null) { return null; } else { return res; } }
4.需要引入的空间:
using System.Data;
using MySql.Data;
using MySql.Data.MySqlClient;
5.需要的DLL:
6.Unable to connect to any of the specified MySQL hosts.出现这个错误的原因是指定了错误的端口号或者是server的地址写错了,不指定端口号的话是不是默认为3306还请大神指出,本人实验了一下连接到虚拟机的时候没有指定端口号也并没有报错,完整的链接语句:
server=192.168.60.128;port=3306;database=mysql_test;User Id=sqlAdmin;password=123,在配置文件中可以指定属性:
providerName="MySql.Data.MySqlClient"
C#链接mysql 新手容易出错的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。