自己封裝的ASP.NET的MYSQL的資料庫操作類

來源:互聯網
上載者:User

標籤:blog   os   io   資料   ar   art   cti   div   

  1. /** 
  2.  * 牛腩 
  3.  * 建立時間:2010年3月7日17時35分 
  4.  * 類說明:對MYSQL資料庫的操作類 
  5.  */   
  6. using System;  
  7. using System.Data;  
  8. using MySql.Data.MySqlClient;  
  9.   
  10.   
  11. namespace Niunan.BYLW.Utility  
  12. {  
  13.     /// <summary>對MYSQL資料庫的操作類  
  14.     ///   
  15.     /// </summary>  
  16.     public class MYSQLHelper  
  17.     {  
  18.         private MySqlConnection conn = null;  
  19.         private MySqlCommand cmd = null;  
  20.         private MySqlDataReader sdr = null;  
  21.   
  22.   
  23.         public MYSQLHelper()  
  24.         {  
  25.             //string connStr = WebConfigurationManager.ConnectionStrings["connStr"].ToString();  
  26.             string connStr = "server=localhost;database=test;uid=root;pwd=123456;charset=utf8";  
  27.             conn = new MySqlConnection(connStr);  
  28.         }  
  29.   
  30.   
  31.         /// <summary>建立Command對象  
  32.         ///   
  33.         /// </summary>  
  34.         /// <param name="sql">SQL語句</param>  
  35.         public void CreateCommand(string sql)  
  36.         {  
  37.             conn.Open();  
  38.             cmd = new MySqlCommand(sql, conn);  
  39.         }  
  40.   
  41.   
  42.         /// <summary>添加參數  
  43.         ///   
  44.         /// </summary>  
  45.         /// <param name="paramName">參數名稱</param>  
  46.         /// <param name="value">值</param>  
  47.         public void AddParameter(string paramName, object value)  
  48.         {  
  49.             cmd.Parameters.Add(new MySqlParameter(paramName, value));  
  50.         }  
  51.   
  52.   
  53.         /// <summary>執行不帶參數的增刪改SQL語句  
  54.         ///    
  55.         /// </summary>  
  56.         /// <param name="cmdText">增刪改SQL語句</param>  
  57.         /// <param name="ct">命令類型</param>  
  58.         /// <returns></returns>  
  59.         public bool ExecuteNonQuery()  
  60.         {  
  61.             int res;  
  62.             try  
  63.             {  
  64.                 res = cmd.ExecuteNonQuery();  
  65.                 if (res > 0)  
  66.                 {  
  67.                     return true;  
  68.                 }  
  69.             }  
  70.             catch (Exception ex)  
  71.             {  
  72.                 throw ex;  
  73.             }  
  74.             finally  
  75.             {  
  76.                 if (conn.State == ConnectionState.Open)  
  77.                 {  
  78.                     conn.Close();  
  79.                 }  
  80.             }  
  81.             return false;  
  82.         }  
  83.   
  84.   
  85.         /// <summary>執行查詢SQL語句  
  86.         ///    
  87.         /// </summary>  
  88.         /// <param name="cmdText">查詢SQL語句</param>  
  89.         /// <returns></returns>  
  90.         public DataTable ExecuteQuery()  
  91.         {  
  92.             DataTable dt = new DataTable();  
  93.             using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))  
  94.             {  
  95.                 dt.Load(sdr);  
  96.             }  
  97.             return dt;  
  98.         }  
  99.   
  100.   
  101.         /// <summary>返回查詢SQL語句查詢出的結果的第一行第一列的值  
  102.         ///   
  103.         /// </summary>  
  104.         /// <returns></returns>  
  105.         public string ExecuteScalar()  
  106.         {  
  107.             string res = "";  
  108.             try  
  109.             {  
  110.                 object obj = cmd.ExecuteScalar();  
  111.                 if (obj != null)  
  112.                 {  
  113.                     res = obj.ToString();  
  114.                 }  
  115.             }  
  116.             catch (Exception ex)  
  117.             {  
  118.                 throw ex;  
  119.             }  
  120.             finally  
  121.             {  
  122.                 if (conn.State == ConnectionState.Open)  
  123.                 {  
  124.                     conn.Close();  
  125.                 }  
  126.             }  
  127.             return res;  
  128.         }  
  129.   
  130.   
  131.     }  
  132. }  

都是把那個SQLITEHelper的操作類搬過來的,改了MySqlConnection等變數名,對MYSQL來說經常會出現中文亂碼,經實驗,解決方案:


① 用PHPMYADMIN建立MYSQL資料庫的時候記得選擇UTF-8的編碼


② 在上面的資料庫操作類中的連接字串中記得加上charset=utf8


這樣用上面的操作類來插入中文就不會出現亂碼了。

 

 
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.