一个ASP.NET的MYSQL的数据库操作类自己封装的
/** *类说明:对MYSQL数据库的操作类 */ usingSystem; usingSystem.Data; usingMySql.Data.MySqlClient; namespaceNiunan.BYLW.Utility { ///<summary>对MYSQL数据库的操作类 /// ///</summary> publicclassMYSQLHelper { privateMySqlConnectionconn=null; privateMySqlCommandcmd=null; privateMySqlDataReadersdr=null; publicMYSQLHelper() { //stringconnStr=WebConfigurationManager.ConnectionStrings["connStr"].ToString(); stringconnStr="server=localhost;database=test;uid=root;pwd=123456;charset=utf8"; conn=newMySqlConnection(connStr); } ///<summary>创建Command对象 /// ///</summary> ///<paramname="sql">SQL语句</param> publicvoidCreateCommand(stringsql) { conn.Open(); cmd=newMySqlCommand(sql,conn); } ///<summary>添加参数 /// ///</summary> ///<paramname="paramName">参数名称</param> ///<paramname="value">值</param> publicvoidAddParameter(stringparamName,objectvalue) { cmd.Parameters.Add(newMySqlParameter(paramName,value)); } ///<summary>执行不带参数的增删改SQL语句 /// ///</summary> ///<paramname="cmdText">增删改SQL语句</param> ///<paramname="ct">命令类型</param> ///<returns></returns> publicboolExecuteNonQuery() { intres; try { res=cmd.ExecuteNonQuery(); if(res>0) { returntrue; } } catch(Exceptionex) { throwex; } finally { if(conn.State==ConnectionState.Open) { conn.Close(); } } returnfalse; } ///<summary>执行查询SQL语句 /// ///</summary> ///<paramname="cmdText">查询SQL语句</param> ///<returns></returns> publicDataTableExecuteQuery() { DataTabledt=newDataTable(); using(sdr=cmd.ExecuteReader(CommandBehavior.CloseConnection)) { dt.Load(sdr); } returndt; } ///<summary>返回查询SQL语句查询出的结果的第一行第一列的值 /// ///</summary> ///<returns></returns> publicstringExecuteScalar() { stringres=""; try { objectobj=cmd.ExecuteScalar(); if(obj!=null) { res=obj.ToString(); } } catch(Exceptionex) { throwex; } finally { if(conn.State==ConnectionState.Open) { conn.Close(); } } returnres; } } }
都是把那个SQLITEHelper的操作类搬过来的,改了MySqlConnection等变量名,对MYSQL来说经常会出现中文乱码,经实验,解决方法:
①用PHPMYADMIN建立MYSQL数据库的时候记得选择UTF-8的编码
②在上面的数据库操作类中的连接字符串中记得加上charset=utf8
这样用上面的操作类来插入中文就不会出现乱码了。