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

 更新时间:2014年08月19日 16:54:01   投稿:whsnow  
这篇文章主要介绍了一个ASP.NET的MYSQL的数据库操作类自己封装的,在数据库操作类中的连接字符串中记得加上charset=utf8 需要的朋友可以参考下
/** 
* 类说明:对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

这样用上面的操作类来插入中文就不会出现乱码了。

相关文章

  • asp.net GridView的删除对话框的两种方法

    asp.net GridView的删除对话框的两种方法

    本来这两种方法,我已经掌握。但是没有总结,今天朋友突然问题,我竟然想不起来,找了半天,现在亡羊补牢,赶快写在博客里。
    2009-04-04
  • .Net Core中间件之静态文件(StaticFiles)示例详解

    .Net Core中间件之静态文件(StaticFiles)示例详解

    这篇文章主要给大家介绍了关于.Net Core中间件之静态文件(StaticFiles)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧
    2018-09-09
  • MVC4制作网站教程第四章 部分栏目功能实现代码

    MVC4制作网站教程第四章 部分栏目功能实现代码

    这篇文章主要为大家详细介绍了MVC4制作网站教程,部分栏目功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • asp.net用url重写URLReWriter实现任意二级域名 新

    asp.net用url重写URLReWriter实现任意二级域名 新

    最近有个朋友要做url重写的东西,我帮他弄了弄,回头看当年自己写的那个文章,当时以为自己写的很容易理解.但现在再看却觉得写的不好.而今天百度了一下urlrewriter发现我这个文章竟然排第二.为了方便更多朋友,我再写点东西补充下.
    2009-11-11
  • ASPX向ASCX传值以及文本创建图片(附源码)

    ASPX向ASCX传值以及文本创建图片(附源码)

    把用户在TextBox输入的文字创建为一个图片,ASCX的ImageButton的ImageUrl重新指向这刚产生的图片,接下来介绍下ASPX向ASCX传值,感兴趣的朋友可以参考下哈
    2013-03-03
  • ASP.Net缓存总结及分析 分享

    ASP.Net缓存总结及分析 分享

    提高性能最好最快的办法当然是通过缓存来改善,对于任何一个web开发者都应该善用缓存。Asp.net下的缓存机制十分强大,用好缓存机制可以让我们极大的改善web应用的性能,下面是一些总结的缓存的知识点,与大家分享交流:
    2013-06-06
  • .Net中关于stirng转System.Type的一种实现思路详解

    .Net中关于stirng转System.Type的一种实现思路详解

    这篇文章主要给大家介绍了.Net中关于stirng转System.Type的一种实现思路的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-05-05
  • asp.net实现递归方法取出菜单并显示在DropDownList中(分栏形式)

    asp.net实现递归方法取出菜单并显示在DropDownList中(分栏形式)

    这篇文章主要介绍了asp.net实现递归方法取出菜单并显示在DropDownList中的方法,涉及asp.net递归算法与DropDownList使用技巧,需要的朋友可以参考下
    2016-06-06
  • 实现.Net7下数据库定时检查的方法详解

    实现.Net7下数据库定时检查的方法详解

    在软件开发过程中,有时候我们需要定时地检查数据库中的数据,并在发现新增数据时触发一个动作。为了实现这个需求,本文我们在 .Net 7 下进行一次简单的演示。感兴趣的可以了解一下
    2022-12-12
  • 用扩展方法优化多条件查询(不定条件查询)

    用扩展方法优化多条件查询(不定条件查询)

    在我们开发过程中,特别是管理系统的开发,经常会遇到多条件查询(或者叫不定条件查询)的案例,就是提供给User输入的查询条件有多个不同的查询栏位,而且,在实际使用中并不能确定User会使用哪些条件来当做搜索条件
    2012-12-12

最新评论