C#(.net) MySql數據庫鏈接工具類

ww24 9年前發布 | 1K 次閱讀 C#

先下載和安裝MySQLDriverCS 
http://sourceforge.net/projects/mysqldrivercs/

在安裝文件夾下面找到MySQLDriver.dll,然后將MySQLDriver.dll添加引用到項目中

應用程序配置文件:

App.config:

    <?xml version="1.0" encoding="utf-8" ?>
<configuration>

  <connectionStrings>  

    <add name="server" connectionString="localhost"></add>  
    <add name="database" connectionString="housing"></add>  
    <add name="login" connectionString="root"></add>  
    <add name="password" connectionString="root"></add>  
  </connectionStrings>  
</configuration>  </pre> 


SqlHelper.cs內容:

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using MySQLDriverCS;
using System.Data;

namespace Demo  
{  
    class SqlHelper  
    {  

        private static string server = ConfigurationManager.ConnectionStrings["server"].ConnectionString;  
        private static string database = ConfigurationManager.ConnectionStrings["database"].ConnectionString;  
        private static string login = ConfigurationManager.ConnectionStrings["login"].ConnectionString;  
        private static string password = ConfigurationManager.ConnectionStrings["password"].ConnectionString;  


        public static int ExecuteNoQuery(String sql,MySQLParameter[] parameters)  
        {  

            using (MySQLConnection conn = new MySQLConnection(new MySQLConnectionString(server, database, login, password).AsString))  
            {  

                conn.Open();  


                //防止亂碼  
                MySQLCommand commn = new MySQLCommand("set names gb2312", conn);  
                commn.ExecuteNonQuery();  
                //連接語句和SQL  
                MySQLCommand cmd = new MySQLCommand(sql, conn);  
                //添加參數  
                cmd.Parameters.AddRange( parameters);  
                //返回執行結果  
                return cmd.ExecuteNonQuery();  

            }  

        }  
        public static object ExecuteScalar(String sql, MySQLParameter[] parameters)  
        {  

            using (MySQLConnection conn = new MySQLConnection(new MySQLConnectionString(server, database, login, password).AsString))  
            {  

                conn.Open();  
                //防止亂碼  
                MySQLCommand commn = new MySQLCommand("set names gb2312", conn);  
                commn.ExecuteNonQuery();  

                MySQLCommand cmd = new MySQLCommand(sql, conn);  
                //添加參數  
                cmd.Parameters.AddRange(parameters);  

                return cmd.ExecuteNonQuery();  
            }  

        }  

        //較少的時候  
        public static DataTable ExecuteReaderEx(String sql, MySQLParameter[] parameters)  
        {  

            using (MySQLConnection conn = new MySQLConnection(new MySQLConnectionString(server, database, login, password).AsString))  
            {  

                conn.Open();  
                //防止亂碼  
                MySQLCommand commn = new MySQLCommand("set names gb2312", conn);  
                commn.ExecuteNonQuery();  

                MySQLCommand cmd = new MySQLCommand(sql, conn);  
                //添加參數  
                cmd.Parameters.AddRange(parameters);  

                MySQLDataAdapter mda = new MySQLDataAdapter(cmd);  

                //查詢出的數據是存在DataTable中的,DataTable可以理解成為一個虛擬的表,DataTable中的一行為一條記錄,一列為一個數據庫字段    


                DataTable dt = new DataTable();  
                mda.Fill(dt);    

                return dt;  
            }  

        }  
        public static DataSet ExecuteReaderEx2(String sql, MySQLParameter[] parameters)  
        {  


            using (MySQLConnection conn = new MySQLConnection(new MySQLConnectionString(server, database, login, password).AsString))  
            {  

                conn.Open();  
                //防止亂碼  
                MySQLCommand commn = new MySQLCommand("set names gb2312", conn);  
                commn.ExecuteNonQuery();  

                MySQLCommand cmd = new MySQLCommand(sql, conn);  
                //添加參數  
                cmd.Parameters.AddRange(parameters);  

                MySQLDataAdapter mda = new MySQLDataAdapter(cmd);  

                //查詢出的數據是存在DataTable中的,DataTable可以理解成為一個虛擬的表,DataTable中的一行為一條記錄,一列為一個數據庫字段    


                DataSet ds = new DataSet();  
                mda.Fill(ds);  
                return ds;  
            }  

        }  




    }  
}  </pre> 


使用示例:

    //sql語句
string sql = "update tbl_sysuser set isActived=@isActived where id=@id";

              int number = SqlHelper.ExecuteNoQuery(sql, new MySQLParameter[]   
              {  
                  new MySQLParameter("@isActived", "YES"),  
                  new MySQLParameter("@id", 2)  
              });  


              Console.WriteLine("受影響的行數:" + number);  </pre> 


 本文由用戶 ww24 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!