2014-09-24 12:07:27
来 源
中存储网
MySQL
c#插入MySQL数据时出现中文乱码,配置文件my.ini中我改了两个都为gb2312数据库我也设置问gb2312了连接字符串我也加了charset=gb2312。在每次执行前也加了MySQLCommandmyCmd=newMySQLCommand("SETNAMESgb2312",myConne

配置文件my.ini中我改了两个都为gb2312
数据库我也设置问gb2312了
连接字符串我也加了charset=gb2312。在每次执行前也加了

 MySQLCommand myCmd = new MySQLCommand("SET NAMES gb2312", myConnection);
                    myCmd.ExecuteNonQuery();
在上面没弄之前查询出来中文是乱码,我按上面修改后查询出来正常了。但是我用MySQLParameter操作插入时就是乱码。

public int ExecuteCommand(string strSql, MySQLParameter[] paras)
        {
            try
            {
                using (MySQLConnection myConnection = new MySQLConnection(ContString))
                {
                    myConnection.Open();
                    MySQLCommand myCmd = new MySQLCommand("SET NAMES gb2312", myConnection);
                    myCmd.ExecuteNonQuery();
                    myCmd = new MySQLCommand(strSql, myConnection);
                    myCmd.Parameters.AddRange(paras);
                    int rowCount = myCmd.ExecuteNonQuery();
                    myConnection.Close();
                    return rowCount;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
很奇怪,如果参数中只有一个是中文就可以,如果出现两个和两个以上是中文参数就出错。

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。