http://www.cnblogs.com/shuang121/archive/2011/02/27/1966346.html
在asp.net中使用公共類可以節省很多代碼,DBHelp這個類我們經常用,現在來簡單介紹一下:
連接字符串從配置文件中讀取
private readonly static string CONNSTRING = ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
執行增刪改操作方法
public static void GetExecuteNonQuery(string sqlstr,params SqlParameter[] paras)
{
using(SqlConnection conn=new SqlConnection(CONNSTRING))
{
try{
SqlCommand cmd = new SqlCommand(sqlstr,conn);
cmd.Parameters.AddRange(paras);
conn.Open();
cmd.ExecuteNonQuery();
}catch(OleDbException e){
throw new Exception(e.Message);
}
}
}
執行檢索查詢方法
public static SqlDataReader GetReader(string sqlstr, params SqlParameter[] paras)
{
try{
SqlConnection conn = new SqlConnection(CONNSTRING);
SqlCommand cmd = new SqlCommand(sqlstr, conn);
cmd.Parameters.AddRange(paras);
conn.Open();
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}catch(OleDbException e){
throw new Exception(e.Message);
}
}
注:CommandBehavior.CloseConnection表示關閉SqlDataReader的同時把連接也關掉
返回第一行第一列的方法
public static object GetExecuteScalar(string sqlstr, params SqlParameter[] paras)
{
using (SqlConnection conn = new SqlConnection(CONNSTRING))
{
try
{
SqlCommand cmd = new SqlCommand(sqlstr, conn);
cmd.Parameters.AddRange(paras);
conn.Open();
return cmd.ExecuteScalar();
} catch(OleDbException e){
throw new Exception(e.Message);
}
}
}
返回DataTable對象
public static DataTable GetDataSet(string sql, SqlParameter[] paramters)
{
using (SqlConnection conn = new SqlConnection(CONNSTRING))
{
try{
DataSet ds = new DataSet();
SqlCommand command = new SqlCommand(sql, conn);
command.Parameters.AddRange(paramters);
SqlDataAdapter adapter = new SqlDataAdapter(command);
adapter.Fill(ds);
return ds.Tables[0];
}catch(OleDbException e){
throw new Exception(e.Message);
}
}
}
返回DataSet
public static DataSet Query(string sqlstr, params OleDbParameter[] paras)
{
using(OleDbConnection conn=new OleDbConnection(CONNSTR))
{
try
{
DataSet ds = new DataSet();
OleDbCommand cmd = new OleDbCommand(sqlstr, conn);
cmd.Parameters.AddRange(paras);
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = cmd;
da.Fill(ds, "ds");
return ds;
}
catch (OleDbException e)
{
throw new Exception(e.Message);
}
}
}
public static DataSet Query(string sqlstr)
{
using(OleDbConnection conn=new OleDbConnection(CONNSTR))
{
try
{
DataSet ds = new DataSet();
OleDbCommand cmd = new OleDbCommand(sqlstr, conn);
OleDbDataAdapter da = new OleDbDataAdapter();
da.Fill(ds, "ds");
return ds;
}
catch (OleDbException e)
{
throw new Exception(e.Message);
}
}
}
執行多條SQL語句,實現數據庫事務
public static void ExecuteSqlTran(ArrayList SQLStringList)
{
int fig=0;//用來判斷是否執行成功
using (OleDbConnection conn = new OleDbConnection(CONNSTR))
{
conn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
OleDbTransaction tx = conn.BeginTransaction();
cmd.Transaction = tx;
try
{
for (int n = 0; n < SQLStringList.Count; n++)