使用系統;
使用系統配置;
使用系統數據;
使用 System.Data.SqlClient;
使用系統集合;
命名空間 MyCorporation.DepartMent.DataBase
{
/// <摘要>
/// 通用資料庫類
/// </摘要>
公共類別資料庫
{
私有字串 ConnStr = null;
公共資料庫()
{
ConnStr = ConfigurationSettings.AppSettings["ConnStr"];
}
公共資料庫(字符串Str)
{
嘗試
{
this.ConnStr = Str;
}
捕獲(異常前)
{
扔前;
}
}
/// <摘要>
/// 回傳連線對象
/// </摘要>
/// <返回></返回>
公 SqlConnection ReturnConn()
{
SqlConnection Conn = new SqlConnection(ConnStr);
康恩.Open();
返回康乃狄克州;
}
公無效處理(SqlConnection Conn)
{
如果(康恩!=空)
{
Conn.Close();
Conn.Dispose();
}
GC.Collect();
}
/// <摘要>
/// 執行SQL語句
/// </摘要>
/// <參數名稱=“SQL”></參數>
公共無效RunProc(字串SQL)
{
SqlConnection 康乃狄克州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
SqlCommand Cmd ;
Cmd = CreateCmd(SQL, Conn);
嘗試
{
Cmd.ExecuteNonQuery();
}
抓住
{
拋出新的例外(SQL);
}
處置(康乃狄克州);
返回;
}
/// <摘要>
/// 執行SQL語句回傳DataReader
/// </摘要>
/// <參數名稱=“SQL”></參數>
/// <returns>SqlDataReader物件.</returns>
公用 SqlDataReader RunProcGetReader(字串 SQL)
{
SqlConnection 康乃狄克州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
SqlCommand Cmd ;
Cmd = CreateCmd(SQL, Conn);
SqlDataReader 博士;
嘗試
{
Dr = Cmd.ExecuteReader(CommandBehavior.Default);
}
抓住
{
拋出新的例外(SQL);
}
//處置(Conn);
返回博士;
}
/// <摘要>
/// 產生Command對象
/// </摘要>
/// <參數名稱=“SQL”></參數>
/// <參數名稱=“Conn”></參數>
/// <返回></返回>
公共SqlCommand CreateCmd(字串SQL,SqlConnection Conn)
{
SqlCommand Cmd ;
Cmd = new SqlCommand(SQL, Conn);
返回命令;
}
/// <摘要>
/// 產生Command對象
/// </摘要>
/// <參數名稱=“SQL”></參數>
/// <返回></返回>
公共SqlCommand CreateCmd(字串SQL)
{
SqlConnection 康乃狄克州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
SqlCommand Cmd ;
Cmd = new SqlCommand(SQL, Conn);
返回命令;
}
/// <摘要>
/// 傳回適配器對象
/// </摘要>
/// <參數名稱=“SQL”></參數>
/// <參數名稱=“Conn”></參數>
/// <返回></返回>
公共SqlDataAdapter CreateDa(字串SQL)
{
SqlConnection 康乃狄克州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
SqlDataAdapter Da;
Da = new SqlDataAdapter(SQL, Conn);
返回達;
}
/// <摘要>
/// 運行SQL語句,回傳DataSet對象
/// </摘要>
/// <param name="procName">SQL語句</param>
/// <param name="prams">DataSet 物件</param>
公共資料集RunProc(字串SQL,資料集Ds)
{
SqlConnection 康乃狄克州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
SqlDataAdapter Da;
//Da = CreateDa(SQL, Conn);
Da = new SqlDataAdapter(SQL,Conn);
嘗試
{
Da.Fill(Ds);
}
捕獲(異常錯誤)
{
拋出錯誤;
}
處置(康乃狄克州);
返回D;
}
/// <摘要>
/// 運行SQL語句,回傳DataSet對象
/// </摘要>
/// <param name="procName">SQL語句</param>
/// <param name="prams">DataSet 物件</param>
/// <param name="dataReader">表名</param>
公共資料集RunProc(字串SQL,資料集Ds,字串表名)
{
SqlConnection 康乃狄克州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
SqlDataAdapter Da;
Da = CreateDa(SQL);
嘗試
{
Da.Fill(Ds,表名);
}
捕獲(異常Ex)
{
拋出Ex;
}
處置(康乃狄克州);
返回D;
}
/// <摘要>
/// 運行SQL語句,回傳DataSet對象
/// </摘要>
/// <param name="procName">SQL語句</param>
/// <param name="prams">DataSet 物件</param>
/// <param name="dataReader">表名</param>
公用DataSet RunProc(字串SQL,資料集Ds,int StartIndex,int PageSize,字串表名)
{
SqlConnection 康乃狄克州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
SqlDataAdapter Da ;
Da = CreateDa(SQL);
嘗試
{
Da.Fill(Ds, StartIndex, PageSize, 表名);
}
捕獲(異常Ex)
{
拋出Ex;
}
處置(康乃狄克州);
返回D;
}
/// <摘要>
/// 檢定是否存在數據
/// </摘要>
/// <返回></返回>
公共 bool ExistDate(字串 SQL)
{
SqlConnection 康乃狄克州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
SqlDataReader 博士;
Dr = CreateCmd(SQL,Conn).ExecuteReader();
if (Dr.Read())
{
處置(康乃狄克州);
返回真;
}
別的
{
處置(康乃狄克州);
返回假;
}
}
/// <摘要>
/// 傳回SQL語句執行結果的第一行第一列
/// </摘要>
/// <returns>字串</returns>
公有字串ReturnValue(字串SQL)
{
SqlConnection 康乃狄克州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
字串結果;
SqlDataReader 博士;
嘗試
{
Dr = CreateCmd(SQL,Conn).ExecuteReader();
if (Dr.Read())
{
結果 = Dr[0].ToString();
Dr.Close();
}
別的
{
結果=“”;
Dr.Close();
}
}
抓住
{
拋出新的例外(SQL);
}
處置(康乃狄克州);
返回結果;
}
/// <摘要>
/// 回傳SQL語句第一列,第I列,
/// </摘要>
/// <returns>字串</returns>
公有字串ReturnValue(字串SQL,int ColumnI)
{
SqlConnection 康乃狄克州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
字串結果;
SqlDataReader 博士;
嘗試
{
Dr = CreateCmd(SQL,Conn).ExecuteReader();
}
抓住
{
拋出新的例外(SQL);
}
if (Dr.Read())
{
結果 = Dr[ColumnI].ToString();
}
別的
{
結果=“”;
}
Dr.Close();
處置(康乃狄克州);
返回結果;
}
/// <摘要>
/// 使用sql指令產生一個流程儲存。
/// </摘要>
/// <param name="procName">預存程序名稱.</param>
/// <param name="prams">預存程序進入參數組。
/// <returns>sqlcommand 物件.</returns>
公共 SqlCommand CreateCmd(字串 procName, SqlParameter[] prams)
{
SqlConnection 康乃狄克州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
SqlCommand Cmd = new SqlCommand(procName, Conn);
Cmd.CommandType = CommandType.StoredProcedure;
if (嬰兒車!= null)
{
foreach(prams 中的 SqlParameter 參數)
{
if(參數!= null)
{
Cmd.Parameters.Add(參數);
}
}
}
返回命令;
}
/// <摘要>
/// 為預存程序產生一個SqlCommand對象
/// </摘要>
/// <param name="procName">預存程序名稱</param>
/// <param name="prams">預存程序參數</param>
/// <returns>SqlCommand物件</returns>
私人SqlCommand CreateCmd(字串procName,SqlParameter [] prams,SqlDataReader Dr)
{
SqlConnection 康乃狄克州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
SqlCommand Cmd = new SqlCommand(procName, Conn);
Cmd.CommandType = CommandType.StoredProcedure;
if (嬰兒車!= null)
{
foreach(prams 中的 SqlParameter 參數)
Cmd.Parameters.Add(參數);
}
Cmd.參數.Add(
新的 SqlParameter("ReturnValue", SqlDbType.Int, 4,
ParameterDirection.ReturnValue, false, 0, 0,
string.Empty, DataRowVersion.Default, null));
返回命令;
}
/// <摘要>
/// 運行預存程序,返回。
/// </摘要>
/// <param name="procName">預存程序名稱</param>
/// <param name="prams">預存程序參數</param>
/// <param name="dataReader">SqlDataReader物件</param>
公共無效RunProc(字串procName,SqlParameter [] prams,SqlDataReader Dr)
{
SqlCommand Cmd = CreateCmd(procName, prams, Dr);
Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
返回;
}
/// <摘要>
/// 運行預存程序,返回。
/// </摘要>
/// <param name="procName">預存程序名稱</param>
/// <param name="prams">預存程序參數</param>
公有字串 RunProc(字串 procName, SqlParameter[] prams)
{
SqlDataReader 博士;
SqlCommand Cmd = CreateCmd(procName, prams);
Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
if(Dr.Read())
{
返回 Dr.GetValue(0).ToString();
}
別的
{
返回 ””;
}
}
/// <摘要>
/// 運行預存過程,回傳dataset.
/// </摘要>
/// <param name="procName">預存程序名稱.</param>
/// <param name="prams">預存程序進入參數組。
/// <returns>資料集物件.</returns>
公共資料集 RunProc(字串 procName,SqlParameter[] prams,資料集 Ds)
{
SqlCommand Cmd = CreateCmd(procName,prams);
SqlDataAdapter Da = new SqlDataAdapter(Cmd);
嘗試
{
Da.Fill(Ds);
}
捕獲(異常Ex)
{
拋出Ex;
}
返回D;
}
}
}