zoukankan      html  css  js  c++  java
  • 自己封装的ASP.NET的MYSQL的数据库操作类

    代码
    /**
     * 作者:牛腩
     * 创建时间: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
    这样用上面的操作类来插入中文就不会出现乱码了。

    撸码:复制、粘贴,拿起键盘就是“干”!!!
  • 相关阅读:
    linux之awk命令
    HDU 2097 Sky数 进制转换
    HDU 2077 汉诺塔IV
    HDU 2094 产生冠军 dfs加map容器
    HDU 2073 叠框
    HDU 2083 简易版之最短距离
    HDU 2063 过山车 二分匹配
    天梯 1014 装箱问题
    天梯 1214 线段覆盖
    天梯 1098 均分纸牌
  • 原文地址:https://www.cnblogs.com/niunan/p/1696830.html
Copyright © 2011-2022 走看看