/// <summary>
/// 数据库工具
/// </summary>
public class DBUtilities
{
public DBUtilities() { }
/// <summary>
/// 获取列表数据
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public static List<T> GetList<T>(String sqlCommand, Func<MySqlDataReader, T> readAction, params MySqlParameter[] cmdParameters){
using (MySqlConnection conn = new MySqlConnection(GlobalConfig.MySQLConnString)){
if (conn.State == System.Data.ConnectionState.Open){
conn.Clone();
}
conn.Open();
using (MySqlDataReader reader = MySqlHelper.ExecuteReader(conn, sqlCommand, cmdParameters)){
List<T> list = new List<T>();
while (reader.Read()){
list.Add(readAction(reader));
}
return list;
}
}
}
/// <summary>
/// 返回数据集
/// </summary>
/// <param name="sqlCommand"></param>
/// <param name="cmdParameters"></param>
/// <returns></returns>
public static DataSet GetDataSet(String sqlCommand, params MySqlParameter[] cmdParameters) {
using (MySqlConnection conn = new MySqlConnection(GlobalConfig.MySQLConnString)){
if (conn.State == System.Data.ConnectionState.Open){
conn.Clone();
}
conn.Open();
using (DataSet ds = new DataSet()){
using (MySqlDataAdapter adapter = new MySqlDataAdapter(sqlCommand, conn)){
adapter.Fill(ds, "DataSetA");
}
return ds;
}
}
}
/// <summary>
/// 执行查询返回受影响行数
/// </summary>
/// <param name="sqlCommand"></param>
/// <returns></returns>
public static Int32 ExecuteNonQuery(String sqlCommand) {
using (MySqlConnection conn = new MySqlConnection(GlobalConfig.MySQLConnString)){
if (conn.State == System.Data.ConnectionState.Open){
conn.Clone();
}
conn.Open();
using (MySqlCommand cmd = new MySqlCommand(sqlCommand, conn)) {
return cmd.ExecuteNonQuery();
}
}
}
}