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];
}
}
}