using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//添加三行引用 如下:
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace DBHelper
{
public class DBHelper
{
//static靜態成員,可以共享一份數據
private static string connString;
static DBHelper()//構造函數處理初始化
{
//連接數據庫
connString = ConfigurationManager.AppSettings["connString"];
}
/// <summary>
/// 處理增刪改查 params可變化參數
/// </summary>
/// <param name="cmdText"></param>
/// <param name="parameters"></param>
/// <returns></returns>
public static int ExcuteNonQuery(string cmdText,params SqlParameter[] parameters)
{
using (SqlConnection connection = new SqlConnection(connString))
{
using (SqlCommand cmd = new SqlCommand(cmdText, connection))
{
connection.Open();
if (parameters.Length > 0)
{
cmd.Parameters.AddRange(parameters);
}
return cmd.ExecuteNonQuery();
}
}
}
/// <summary>
/// 普通版:執行一個sql語句,查詢出來一個值
/// </summary>
//public object ExcuteScalar(string cmdText,params SqlParameter[] parameters)
//{
// using (SqlConnection connection = new SqlConnection(connString))
// {
// using (SqlCommand cmd = new SqlCommand(cmdText, connection))
// {
// connection.Open();
// if (parameters.Length > 0)
// {
// cmd.Parameters.AddRange(parameters);
// }
// return cmd.ExecuteScalar();
// }
// }
//}
//使用泛型版(最優):執行一個sql語句,查詢出來一個值
public static T ExcuteScalar<T>(string cmdText, params SqlParameter[] parameters)
{
using (SqlConnection connection = new SqlConnection(connString))
{
using (SqlCommand cmd = new SqlCommand(cmdText, connection))
{
connection.Open();
if (parameters.Length > 0)
{
cmd.Parameters.AddRange(parameters);
}
return (T)cmd.ExecuteScalar();
}
}
}
/// <summary>
/// 讀取數據集
/// </summary>
/// <param name=""></param>
/// <returns></returns>
public static SqlDataReader ExecuteReader(string cmdText,params SqlParameter[] parameters)
{
using (SqlConnection connection = new SqlConnection(connString))
{
using (SqlCommand cmd = new SqlCommand(cmdText, connection))
{
connection.Open();
if (parameters.Length > 0)
{
cmd.Parameters.AddRange(parameters);
}
//讀完數據,關閉
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
}
}
public static DataSet GetDataSet(string cmdText,params SqlParameter[] parameters)
{
DataSet ds = new DataSet();
using (SqlDataAdapter adapter = new SqlDataAdapter(cmdText, connString))
{
if (parameters.Length > 0)
{
adapter.SelectCommand.Parameters.AddRange(parameters);
}
adapter.Fill(ds);
}
return ds;
}
public static DataTable GetDataTable(string cmdText,params SqlParameter[] parameters)
{
return GetDataSet(cmdText, parameters).Tables[0];
}
}
}