C# MySqlDBHelp

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

using MySql.Data.MySqlClient;


namespace MySqlDBHelper
{  
    class DBHelper
    {        
        /// <summary>
        /// 執行SQL語句,返回影響的記錄數
        /// </summary>
        /// <param name="SQLString">SQL語句</param>
        /// <returns>影響的記錄數</returns>
        public static int ExecuteSql(string SQLString)
        {
            string connectionString = ConfigurationManager.AppSettings["ConnectionString"]; // 讀取 key
            MySqlConnection connection = new MySqlConnection(connectionString);
            MySqlCommand cmd = new MySqlCommand(SQLString, connection);
            try
            {
                connection.Open();
                int rows = cmd.ExecuteNonQuery();
                return rows;
            }
            catch (MySql.Data.MySqlClient.MySqlException e)
            {
                connection.Close();
                throw e;
            }            
        }

        /// <summary>
        /// 執行SQL語句,返回首條記錄首字段值
        /// </summary>
        /// <param name="SQLString">SQL語句</param>
        /// <returns>第一條記錄第一個字段的值</returns>
        public static string ExecuteScalar(string SQLString)
        {
            // 數據庫連接字符串
            string connectionString = ConfigurationManager.AppSettings["COnnectionString"];
            MySqlConnection connection = new MySqlConnection(connectionString);
            MySqlCommand cmd = new MySqlCommand(SQLString, connection);
            try
            {
                connection.Open();
                string rlt = cmd.ExecuteScalar().ToString();
                return rlt;
            }
            catch (MySql.Data.MySqlClient.MySqlException e)
            {
                connection.Close();
                throw e;
            }
        }

        /// <summary>
        /// 執行查詢語句,返回DataSet
        /// </summary>
        /// <param name="SQLString">查詢語句</param>
        /// <returns>DataSet</returns>
        public static DataSet OpenQuey(string SQLString)
        {
            string connectionString = ConfigurationManager.AppSettings["COnnectionString"];
            MySqlConnection connection = new MySqlConnection(connectionString);     
            DataSet dst = new DataSet();
            try
            {
                connection.Open();
                MySqlDataAdapter da = new MySqlDataAdapter(SQLString, connection);
                da.Fill(dst, "ds");
            }
            catch (MySql.Data.MySqlClient.MySqlException e)
            {
                throw new Exception(e.Message);
            }
            return dst; 
        }

        /// <summary>
        /// 執行查詢語句,返回MySqlDataReader
        /// </summary>
        /// <param name="SQLString">查詢語句</param>
        /// <returns>MySqlDataReader</returns>
        public static MySqlDataReader OpenDataReader(string SQLString)
        {
            string connectionString = ConfigurationManager.AppSettings["COnnectionString"];
            MySqlConnection connection = new MySqlConnection(connectionString);
            MySqlDataReader dr;
            MySqlCommand cmd = connection.CreateCommand();
            try
            {
                connection.Open();
                cmd.CommandText = SQLString;
                dr = cmd.ExecuteReader();                
            }
            catch (MySql.Data.MySqlClient.MySqlException e)
            {
                throw new Exception(e.Message);
            }
            return dr;
        }


        /// 執行非查詢存儲過程和SQL語句
        /// 增、刪、改
        /// </summary>
        /// <param name="strSQL">要執行的SQL語句</param>
        /// <param name="parm">參數列表,沒有參數填入null</param>
        /// <param name="cmdType">Command類型</param>
        /// <returns>返回影響行數</returns>
        public static int ExcuteSQL(string strSQL, MySqlParameter[] parm, CommandType cmdType)
        {
            int rowCount = 0;

            string connectionString = ConfigurationManager.AppSettings["COnnectionString"];
            using (MySqlConnection conn = new MySqlConnection(connectionString))
            {
                MySqlCommand cmd = new MySqlCommand(strSQL, conn);
                cmd.CommandType = cmdType;
                if (parm != null)
                {
                    cmd.Parameters.AddRange(parm);
                }
                conn.Open();
                rowCount = cmd.ExecuteNonQuery();
                conn.Close();
            }
            return rowCount;
        } 

    }
}

App.config 文件

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="ConnectionString" value="Server=127.0.0.1;DataBase=txl;UID=wjs;PWD=1234567" />
  </appSettings>
</configuration>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章