您的位置:首页 > 编程语言 > ASP

自己封装的ASP.NET的MYSQL的数据库操作类

2014-08-17 11:29 676 查看
/**

* 作者:牛腩

* 创建时间:2010年3月7日17时35分

* 类说明:对MYSQL数据库的操作类

*/

using System;

using System.Data;

using MySql.Data.MySqlClient;

namespace Niunan.BYLW.Utility

{

/// <summary>对MYSQL数据库的操作类

///

/// </summary>

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);

}

/// <summary>创建Command对象

///

/// </summary>

/// <param name="sql">SQL语句</param>

public void CreateCommand(string sql)

{

conn.Open();

cmd = new MySqlCommand(sql, conn);

}

/// <summary>添加参数

///

/// </summary>

/// <param name="paramName">参数名称</param>

/// <param name="value">值</param>

public void AddParameter(string paramName, object value)

{

cmd.Parameters.Add(new MySqlParameter(paramName, value));

}

/// <summary>执行不带参数的增删改SQL语句

///

/// </summary>

/// <param name="cmdText">增删改SQL语句</param>

/// <param name="ct">命令类型</param>

/// <returns></returns>

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;

}

/// <summary>执行查询SQL语句

///

/// </summary>

/// <param name="cmdText">查询SQL语句</param>

/// <returns></returns>

public DataTable ExecuteQuery()

{

DataTable dt = new DataTable();

using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))

{

dt.Load(sdr);

}

return dt;

}

/// <summary>返回查询SQL语句查询出的结果的第一行第一列的值

///

/// </summary>

/// <returns></returns>

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

这样用上面的操作类来插入中文就不会出现乱码了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: