自己封装的asp.net的MySQL的数据库操作类/***作者:牛腩*创建时间:2010年3月7日17时35分*类说明:对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
这样用上面的操作类来插入中文就不会出现乱码了。