zoukankan      html  css  js  c++  java
  • 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 = 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" 

    7.删除表数据的时候不可以使用表的别名,不然报出类似如下错误:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'T WHERE T.`sid`=8' at line 1

  • 相关阅读:
    $scope.$watch监听
    git 修改地址,及提交返回403错误原因
    wepy wx:getLocation 配置 permission
    vue-cli 3.x 导入jquety
    微信小程序、微信公众号、H5之间相互跳转
    微信小程序之滚动选择器
    软件开发过程中所需要的文档
    Git 常用命令详解
    小程序填坑--TypeError: this.setData is not a function
    使用tomcat时,不用给webapps文件放入文件,直接访问项目方法
  • 原文地址:https://www.cnblogs.com/llcdbk/p/5915621.html
Copyright © 2011-2022 走看看