using System; using System.Configuration; using System.Collections; using System.Data; using MySql.Data; using MySql.Data.MySqlClient; namespace MyData { /// <summary> /// 通用數據庫類MySQL /// </summary> public class Class_mysql_conn { //public static string ConnStr = @"server=數據庫;uid=帳號;pwd=密碼;database=數據庫;charset=utf8"; public static string ConnStr = MyData.Properties.Settings.Default.my_soft_mysqlConn + "pwd=密碼;charset=utf8;"; //打開數據庫鏈接 public static MySqlConnection Open_Conn( string ConnStr) { MySqlConnection Conn = new MySqlConnection(ConnStr); Conn.Open(); return Conn; } //關閉數據庫鏈接 public static void Close_Conn(MySqlConnection Conn) { if(Conn != null) { Conn.Close(); Conn.Dispose(); } GC.Collect(); } //運行MySql語句 public static int Run_SQL(string SQL, string ConnStr) { MySqlConnection Conn = Open_Conn(ConnStr); MySqlCommand Cmd = Create_Cmd(SQL, Conn); try { int result_count = Cmd.ExecuteNonQuery(); Close_Conn(Conn); return result_count; } catch { Close_Conn(Conn); return 0; } } // 生成Command對象 public static MySqlCommand Create_Cmd(string SQL, MySqlConnection Conn) { MySqlCommand Cmd = new MySqlCommand(SQL, Conn); return Cmd; } // 運行MySql語句返回 DataTable public static DataTable Get_DataTable(string SQL, string ConnStr, string Table_name) { MySqlDataAdapter Da = Get_Adapter(SQL, ConnStr); DataTable dt = new DataTable(Table_name); Da.Fill(dt); return dt; } // 運行MySql語句返回 MySqlDataReader對象 public static MySqlDataReader Get_Reader(string SQL, string ConnStr) { MySqlConnection Conn = Open_Conn(ConnStr); MySqlCommand Cmd = Create_Cmd(SQL, Conn); MySqlDataReader Dr; try { Dr = Cmd.ExecuteReader(CommandBehavior.Default); } catch { throw new Exception(SQL); } Close_Conn(Conn); return Dr; } // 運行MySql語句返回 MySqlDataAdapter對象 public static MySqlDataAdapter Get_Adapter(string SQL, string ConnStr) { MySqlConnection Conn = Open_Conn(ConnStr); MySqlDataAdapter Da = new MySqlDataAdapter(SQL, Conn); return Da; } // 運行MySql語句,返回DataSet對象 public static DataSet Get_DataSet(string SQL, string ConnStr, DataSet Ds) { MySqlDataAdapter Da = Get_Adapter(SQL, ConnStr); try { Da.Fill(Ds); } catch(Exception Err) { throw Err; } return Ds; } // 運行MySql語句,返回DataSet對象 public static DataSet Get_DataSet(string SQL, string ConnStr, DataSet Ds, string tablename) { MySqlDataAdapter Da = Get_Adapter(SQL, ConnStr); try { Da.Fill(Ds,tablename); } catch(Exception Ex) { throw Ex; } return Ds; } // 運行MySql語句,返回DataSet對象,將數據進行了分頁 public static DataSet Get_DataSet(string SQL, string ConnStr, DataSet Ds, int StartIndex, int PageSize, string tablename) { MySqlConnection Conn = Open_Conn(ConnStr); MySqlDataAdapter Da = Get_Adapter(SQL, ConnStr); try { Da.Fill(Ds, StartIndex, PageSize, tablename); } catch(Exception Ex) { throw Ex; } Close_Conn(Conn); return Ds; } // 返回MySql語句執行結果的第一行第一列 public static string Get_Row1_Col1_Value(string SQL, string ConnStr) { MySqlConnection Conn = Open_Conn(ConnStr); string result; MySqlDataReader Dr ; try { Dr = Create_Cmd(SQL,Conn).ExecuteReader(); if (Dr.Read()) { result = Dr[0].ToString(); Dr.Close(); } else { result = ""; Dr.Close(); } } catch { throw new Exception(SQL); } Close_Conn(Conn); return result; } } }
------------------------------------------------------------------
app.config 里的數據庫鏈接字符串
------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="MyData.Properties.Settings.my_soft_mysqlConn" connectionString="server=localhost;database=my_soft;uid=root;"
</connectionStrings>
</configuration>