自己常用到的自定義公共類(已測(cè)試通過)
更新時(shí)間:2007年03月21日 00:00:00 作者:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.IO;
/*
* AUTHOR:ZHANGLEI
* CREATE DATE:2007.1.5
* 功能:BLL層,實(shí)現(xiàn)了數(shù)據(jù)庫操作的封裝
* 并且提供了足夠的執(zhí)行存儲(chǔ)過程的參數(shù)組合
* DESCRIPTION:本類中用到了方法重載
* ExecuteDataSet方法在本類中實(shí)現(xiàn)了四次重載
* */
namespace job_17
{
/// <summary>
/// job17 的摘要說明。
/// </summary>
public class job17
{
private readonly string P_Con=ConfigurationSettings.AppSettings["P_Con"].ToString();
public job17()
{
//
// TODO: 在此處添加構(gòu)造函數(shù)邏輯
//
}
#region "執(zhí)行任意參數(shù)組合的存儲(chǔ)過程"
/// <summary>
/// 命令準(zhǔn)備操作,提供足夠多的參數(shù)組合
/// 本類中一個(gè)比較重要的方法
/// </summary>
public void preparecommand(SqlConnection myconn,SqlCommand mycomm,SqlTransaction trans,CommandType cmdType,string cmdText,SqlParameter[] param) //注意里面的參數(shù)
{
if (myconn.State!=ConnectionState.Open)
{
myconn.Open();
}
mycomm.Connection=myconn;
mycomm.CommandText=cmdText;
if (trans!=null)
{
mycomm.Transaction=trans;
}
mycomm.CommandType=cmdType;
if (param!=null)
{
foreach(SqlParameter parameter in param)
{
mycomm.Parameters.Add(parameter);
}
}
}
/// <summary>
/// 第一個(gè)返回DataSet類型的ExecuteDataSet方法
/// </summary>
public DataSet ExecuteDataSet(SqlConnection myconn,CommandType cmdType,string cmdText,SqlParameter[] commandpara)
{
SqlCommand mycomm=new SqlCommand();
preparecommand(myconn,mycomm,(SqlTransaction)null,cmdType,cmdText,commandpara);
SqlDataAdapter adpt=new SqlDataAdapter(mycomm); //調(diào)用上方的preparecommand方法
DataSet ds=new DataSet();
adpt.Fill(ds);
mycomm.Parameters.Clear();
return ds;
}
/// <summary>
/// 第二個(gè)返回DataSet類型的ExecuteDataSet方法
/// 是在第一個(gè)方法的基礎(chǔ)上實(shí)現(xiàn),實(shí)現(xiàn)了ExecuteDataSet方法的重載
/// </summary>
public DataSet ExecuteDataSet (string connstr,CommandType cmdType,string cmdText,SqlParameter[] cmdpara)//方法重載,在第一種的基礎(chǔ)上重載,以便提供足夠多的參數(shù)組合
{
using(SqlConnection myconn=new SqlConnection(connstr))
{
return ExecuteDataSet(myconn,cmdType,cmdText,cmdpara);
}
}
/// <summary>
/// 第三個(gè)返回DataSet類型的ExecuteDataSet方法
/// 提供使用存儲(chǔ)過程時(shí)不帶參數(shù)的組合
/// </summary>
public DataSet ExecuteDataSet(SqlConnection myconn,CommandType cmdType,string cmdText)
{
return ExecuteDataSet(myconn,cmdType,cmdText,(SqlParameter[])null);
}
/// <summary>
/// 第四個(gè)返回DataSet類型的ExecuteDataSet方法
/// 提供使用存儲(chǔ)過程時(shí)不帶參數(shù)的組合
/// </summary>
public DataSet ExecuteDataSet (string connstr,CommandType cmdType,string cmdText)
{
return ExecuteDataSet(connstr,cmdType,cmdText,(SqlParameter[])null);
}
#endregion
#region "執(zhí)行返回結(jié)果的sql語句"
/// <summary>
/// 返回結(jié)果的類型為DataTable
/// </summary>
public DataTable ExecuteDataTablesql(string sql)
{
SqlConnection myconn=new SqlConnection(P_Con);
SqlDataAdapter adpt=new SqlDataAdapter(sql,myconn);
DataSet ds=new DataSet();
adpt.Fill(ds);
return ds.Tables[0];
}
/// <summary>
/// 返回結(jié)果的類型為SqlDataReader
/// </summary>
public SqlDataReader ExecuteDataReadersql(string sql)
{
SqlConnection myconn=new SqlConnection(P_Con);
SqlDataReader dr=null;
SqlCommand mycomm=new SqlCommand(sql,myconn);
try
{
myconn.Open();
dr=mycomm.ExecuteReader();
}
catch
{
// StreamWriter sw=new StreamWriter(@"c:\err.txt",true,System.Text.Encoding.GetEncoding("GB2312"));
// sw.WriteLine("============================出錯(cuò)信息==========================");
// sw.WriteLine("出錯(cuò)時(shí)間:"+DateTime.Now.ToString()+"");
// sw.WriteLine(ex.ToString());
// sw.Close();
throw;
}
return dr;
}
/// <summary>
/// 返回結(jié)果的類型為DataSet
/// </summary>
public DataSet ExecutesqlDS(string sql)
{
SqlConnection myconn=new SqlConnection(P_Con);
SqlDataAdapter adpt=new SqlDataAdapter (sql,myconn);
DataSet ds=new DataSet();
adpt.Fill(ds);
return ds;
}
#endregion
#region "執(zhí)行不返回結(jié)果的sql語句"
/// <summary>
/// 執(zhí)行不返回結(jié)果的sql語句
/// </summary>
public void ExecuteNonsql(string sql)
{
SqlConnection myconn=new SqlConnection(P_Con);
SqlCommand mycomm=new SqlCommand(sql,myconn);
try
{
myconn.Open();
mycomm.ExecuteNonQuery();
myconn.Close();
}
catch(Exception e)
{
// StreamWriter sw=new StreamWriter(@"c:\err.txt",true,System.Text.Encoding.GetEncoding("GB2312"));
// sw.WriteLine("============================出錯(cuò)信息==========================");
// sw.WriteLine("出錯(cuò)時(shí)間:"+DateTime.Now.ToString()+"");
// sw.WriteLine(e.ToString());
// sw.Close();
throw new Exception(e.Message,e);
}
}
#endregion
#region "啟用帶事務(wù)的sql語句如(insert,update)"
/// <summary>
/// 使用事務(wù)處理
/// </summary>
public void ExecuteTransql(string sql)
{
SqlConnection myconn=new SqlConnection(P_Con);
SqlCommand mycomm=new SqlCommand(sql,myconn);
SqlTransaction trans=null;
try
{
myconn.Open();
trans=myconn.BeginTransaction();
mycomm.Transaction=trans;
mycomm.ExecuteNonQuery();
trans.Commit();
}
catch(Exception ex)
{
trans.Rollback();
throw new Exception(ex.Message,ex);
}
}
#endregion
}
}
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.IO;
/*
* AUTHOR:ZHANGLEI
* CREATE DATE:2007.1.5
* 功能:BLL層,實(shí)現(xiàn)了數(shù)據(jù)庫操作的封裝
* 并且提供了足夠的執(zhí)行存儲(chǔ)過程的參數(shù)組合
* DESCRIPTION:本類中用到了方法重載
* ExecuteDataSet方法在本類中實(shí)現(xiàn)了四次重載
* */
namespace job_17
{
/// <summary>
/// job17 的摘要說明。
/// </summary>
public class job17
{
private readonly string P_Con=ConfigurationSettings.AppSettings["P_Con"].ToString();
public job17()
{
//
// TODO: 在此處添加構(gòu)造函數(shù)邏輯
//
}
#region "執(zhí)行任意參數(shù)組合的存儲(chǔ)過程"
/// <summary>
/// 命令準(zhǔn)備操作,提供足夠多的參數(shù)組合
/// 本類中一個(gè)比較重要的方法
/// </summary>
public void preparecommand(SqlConnection myconn,SqlCommand mycomm,SqlTransaction trans,CommandType cmdType,string cmdText,SqlParameter[] param) //注意里面的參數(shù)
{
if (myconn.State!=ConnectionState.Open)
{
myconn.Open();
}
mycomm.Connection=myconn;
mycomm.CommandText=cmdText;
if (trans!=null)
{
mycomm.Transaction=trans;
}
mycomm.CommandType=cmdType;
if (param!=null)
{
foreach(SqlParameter parameter in param)
{
mycomm.Parameters.Add(parameter);
}
}
}
/// <summary>
/// 第一個(gè)返回DataSet類型的ExecuteDataSet方法
/// </summary>
public DataSet ExecuteDataSet(SqlConnection myconn,CommandType cmdType,string cmdText,SqlParameter[] commandpara)
{
SqlCommand mycomm=new SqlCommand();
preparecommand(myconn,mycomm,(SqlTransaction)null,cmdType,cmdText,commandpara);
SqlDataAdapter adpt=new SqlDataAdapter(mycomm); //調(diào)用上方的preparecommand方法
DataSet ds=new DataSet();
adpt.Fill(ds);
mycomm.Parameters.Clear();
return ds;
}
/// <summary>
/// 第二個(gè)返回DataSet類型的ExecuteDataSet方法
/// 是在第一個(gè)方法的基礎(chǔ)上實(shí)現(xiàn),實(shí)現(xiàn)了ExecuteDataSet方法的重載
/// </summary>
public DataSet ExecuteDataSet (string connstr,CommandType cmdType,string cmdText,SqlParameter[] cmdpara)//方法重載,在第一種的基礎(chǔ)上重載,以便提供足夠多的參數(shù)組合
{
using(SqlConnection myconn=new SqlConnection(connstr))
{
return ExecuteDataSet(myconn,cmdType,cmdText,cmdpara);
}
}
/// <summary>
/// 第三個(gè)返回DataSet類型的ExecuteDataSet方法
/// 提供使用存儲(chǔ)過程時(shí)不帶參數(shù)的組合
/// </summary>
public DataSet ExecuteDataSet(SqlConnection myconn,CommandType cmdType,string cmdText)
{
return ExecuteDataSet(myconn,cmdType,cmdText,(SqlParameter[])null);
}
/// <summary>
/// 第四個(gè)返回DataSet類型的ExecuteDataSet方法
/// 提供使用存儲(chǔ)過程時(shí)不帶參數(shù)的組合
/// </summary>
public DataSet ExecuteDataSet (string connstr,CommandType cmdType,string cmdText)
{
return ExecuteDataSet(connstr,cmdType,cmdText,(SqlParameter[])null);
}
#endregion
#region "執(zhí)行返回結(jié)果的sql語句"
/// <summary>
/// 返回結(jié)果的類型為DataTable
/// </summary>
public DataTable ExecuteDataTablesql(string sql)
{
SqlConnection myconn=new SqlConnection(P_Con);
SqlDataAdapter adpt=new SqlDataAdapter(sql,myconn);
DataSet ds=new DataSet();
adpt.Fill(ds);
return ds.Tables[0];
}
/// <summary>
/// 返回結(jié)果的類型為SqlDataReader
/// </summary>
public SqlDataReader ExecuteDataReadersql(string sql)
{
SqlConnection myconn=new SqlConnection(P_Con);
SqlDataReader dr=null;
SqlCommand mycomm=new SqlCommand(sql,myconn);
try
{
myconn.Open();
dr=mycomm.ExecuteReader();
}
catch
{
// StreamWriter sw=new StreamWriter(@"c:\err.txt",true,System.Text.Encoding.GetEncoding("GB2312"));
// sw.WriteLine("============================出錯(cuò)信息==========================");
// sw.WriteLine("出錯(cuò)時(shí)間:"+DateTime.Now.ToString()+"");
// sw.WriteLine(ex.ToString());
// sw.Close();
throw;
}
return dr;
}
/// <summary>
/// 返回結(jié)果的類型為DataSet
/// </summary>
public DataSet ExecutesqlDS(string sql)
{
SqlConnection myconn=new SqlConnection(P_Con);
SqlDataAdapter adpt=new SqlDataAdapter (sql,myconn);
DataSet ds=new DataSet();
adpt.Fill(ds);
return ds;
}
#endregion
#region "執(zhí)行不返回結(jié)果的sql語句"
/// <summary>
/// 執(zhí)行不返回結(jié)果的sql語句
/// </summary>
public void ExecuteNonsql(string sql)
{
SqlConnection myconn=new SqlConnection(P_Con);
SqlCommand mycomm=new SqlCommand(sql,myconn);
try
{
myconn.Open();
mycomm.ExecuteNonQuery();
myconn.Close();
}
catch(Exception e)
{
// StreamWriter sw=new StreamWriter(@"c:\err.txt",true,System.Text.Encoding.GetEncoding("GB2312"));
// sw.WriteLine("============================出錯(cuò)信息==========================");
// sw.WriteLine("出錯(cuò)時(shí)間:"+DateTime.Now.ToString()+"");
// sw.WriteLine(e.ToString());
// sw.Close();
throw new Exception(e.Message,e);
}
}
#endregion
#region "啟用帶事務(wù)的sql語句如(insert,update)"
/// <summary>
/// 使用事務(wù)處理
/// </summary>
public void ExecuteTransql(string sql)
{
SqlConnection myconn=new SqlConnection(P_Con);
SqlCommand mycomm=new SqlCommand(sql,myconn);
SqlTransaction trans=null;
try
{
myconn.Open();
trans=myconn.BeginTransaction();
mycomm.Transaction=trans;
mycomm.ExecuteNonQuery();
trans.Commit();
}
catch(Exception ex)
{
trans.Rollback();
throw new Exception(ex.Message,ex);
}
}
#endregion
}
}
相關(guān)文章
.NET Core中的HttpClientFactory類用法詳解
本文詳細(xì)講解了.NET Core中的HttpClientFactory類的用法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03詳解ASP.NET與ASP.NET Core用戶驗(yàn)證Cookie并存解決方案
本篇文章主要介紹了詳解ASP.NET與ASP.NET Core用戶驗(yàn)證Cookie并存解決方案 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-02-02Global.asax取物理路徑/取絕對(duì)路徑具體方法
本文章來給大家簡(jiǎn)單介紹利用Global.asax取物理路徑和取絕對(duì)路徑代碼,有需要了解的朋友可參考參考2013-08-08asp.net下使用DbProviderFactories的數(shù)據(jù)庫操作類
項(xiàng)目開發(fā)中用到VB.NET開發(fā),參考網(wǎng)上的資料,自己寫了數(shù)據(jù)庫操作類。2010-06-06