当前位置: 编程技术>.net/c#/asp.net
一个ASP.NET的MYSQL的数据库操作类自己封装的
来源: 互联网 发布时间:2014-08-25
本文导语: /** * 类说明:对MYSQL数据库的操作类 */ using System; using System.Data; using MySql.Data.MySqlClient; namespace Niunan.BYLW.Utility { /// 对MYSQL数据库的操作类 /// /// public class MYSQLHelper { private MySqlConnection conn = null; private My...
/** * 类说明:对MYSQL数据库的操作类 */ using System; using System.Data; using MySql.Data.MySqlClient; namespace Niunan.BYLW.Utility { /// 对MYSQL数据库的操作类 /// /// public class MYSQLHelper { private MySqlConnection conn = null; private MySqlCommand cmd = null; private MySqlDataReader sdr = null; public MYSQLHelper() { //string connStr = WebConfigurationManager.ConnectionStrings["connStr"].ToString(); string connStr = "server=localhost;database=test;uid=root;pwd=123456;charset=utf8"; conn = new MySqlConnection(connStr); } /// 创建Command对象 /// /// /// SQL语句 public void CreateCommand(string sql) { conn.Open(); cmd = new MySqlCommand(sql, conn); } /// 添加参数 /// /// /// 参数名称 /// 值 public void AddParameter(string paramName, object value) { cmd.Parameters.Add(new MySqlParameter(paramName, value)); } /// 执行不带参数的增删改SQL语句 /// /// /// 增删改SQL语句 /// 命令类型 /// public bool ExecuteNonQuery() { int res; try { res = cmd.ExecuteNonQuery(); if (res > 0) { return true; } } catch (Exception ex) { throw ex; } finally { if (conn.State == ConnectionState.Open) { conn.Close(); } } return false; } /// 执行查询SQL语句 /// /// /// 查询SQL语句 /// public DataTable ExecuteQuery() { DataTable dt = new DataTable(); using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) { dt.Load(sdr); } return dt; } /// 返回查询SQL语句查询出的结果的第一行第一列的值 /// /// /// public string ExecuteScalar() { string res = ""; try { object obj = cmd.ExecuteScalar(); if (obj != null) { res = obj.ToString(); } } catch (Exception ex) { throw ex; } finally { if (conn.State == ConnectionState.Open) { conn.Close(); } } return res; } } }
都是把那个SQLITEHelper的操作类搬过来的,改了MySqlConnection等变量名,对MYSQL来说经常会出现中文乱码,经实验,解决方法:
① 用PHPMYADMIN建立MYSQL数据库的时候记得选择UTF-8的编码
② 在上面的数据库操作类中的连接字符串中记得加上charset=utf8
这样用上面的操作类来插入中文就不会出现乱码了。