C# 连接数据库 conn.open异常处理

原来代码是

string connetStr = "server=127.0.0.1;port=3306;user=root;password=123456; database=nh";
onn = new MySqlConnection(connetStr);

try
                {
                    conn.Open();//打开通道,建立连接,可能出现异常,使用try catch语句
                }
                catch (MysqlException ex)
                {
                    this.WriteLog("循环水conn:" + ex.Message);
                }

运行到Open() 直接退出 没有异常推出。看网上解释到 MysqlException 可能无法全面捕获异常 修改MysqlException 为Exception

终于捕获到异常为 给定关键字不在字典中。网上解释为字符集不匹配 connStr添加charset=utf8(mysql 字符集早已设置为了 utf8)

 string connetStr = "server=127.0.0.1;port=3306;user=root;password=123456; database=nh;charset=utf8";

            conn = new MySqlConnection(connetStr);
            if (conn.State != ConnectionState.Open)
            {
                try
                {
                    conn.Open();//打开通道,建立连接,可能出现异常,使用try catch语句
                }
                catch (Exception ex)
                {
                    this.WriteLog("循环水conn:" + ex.Message);
                }
            }修改后无异常,运行正常。

你可能感兴趣的:(C#)