亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

ASP.NET 數據訪問類

 更新時間:2006年08月24日 00:00:00   作者:  
using System;
using System.Data;
using System.Data.SqlClient; 

namespace SysClassLibrary
{
/// <summary>
/// DataAccess 的摘要說明。
/// <description>數據處理基類,調用方式:DataAccess.DataSet((string)sqlstr);或者DataAccess.DataSet((string)sqlstr,ref DataSet ds); </description>
/// </summary>
public class DataAccess
{
#region 屬性
protected static SqlConnection conn=new SqlConnection();
protected static SqlCommand comm=new SqlCommand();
#endregion
public DataAccess()
{
//init();
}
#region 內部函數 靜態(tài)方法中不會執(zhí)行DataAccess()構造函數

/// <summary>
/// 打開數據庫連接
/// </summary>
private static void openConnection()
{
if (conn.State == ConnectionState.Closed)
{
//SysConfig.ConnectionString 為系統(tǒng)配置類中連接字符串,如:"server=localhost;database=databasename;uid=sa;pwd=;"

conn.ConnectionString = SysConfig.ConnectionString ;
comm.Connection =conn;
try
{
conn.Open();
}
catch(Exception e)
{
throw new Exception(e.Message);
}
}
}
/// <summary>
/// 關閉當前數據庫連接
/// </summary>
private static void closeConnection()
{
if(conn.State == ConnectionState.Open)
conn.Close();
conn.Dispose();
comm.Dispose();
}
#endregion
/// <summary>
/// 執(zhí)行Sql查詢語句
/// </summary>
/// <param name="sqlstr">傳入的Sql語句</param>
public static void ExecuteSql(string sqlstr)
{
try
{
openConnection();
comm.CommandType =CommandType.Text ;
comm.CommandText =sqlstr;
comm.ExecuteNonQuery(); 
}
catch(Exception e)
{
throw new Exception(e.Message);
}
finally
{
closeConnection();
}
}

/// <summary>
/// 執(zhí)行存儲過程
/// </summary>
/// <param name="procName">存儲過程名</param>
/// <param name="coll">SqlParameters 集合</param>
public static void ExecutePorcedure(string procName,SqlParameter[] coll)
{
try
{
openConnection();
for(int i=0;i<coll.Length;i++)
{
comm.Parameters .Add(coll);
}
comm.CommandType=CommandType.StoredProcedure ;
comm.CommandText =procName;
comm.ExecuteNonQuery();
}
catch(Exception e)
{
throw new Exception(e.Message);
}
finally
{
comm.Parameters.Clear();
closeConnection();
}
}

/// <summary>
/// 執(zhí)行存儲過程并返回數據集
/// </summary>
/// <param name="procName">存儲過程名稱</param>
/// <param name="coll">SqlParameter集合</param>
/// <param name="ds">DataSet </param>
public static void ExecutePorcedure(string procName,SqlParameter[] coll,ref DataSet ds)
{
try
{
SqlDataAdapter da=new SqlDataAdapter();
openConnection();
for(int i=0;i<coll.Length;i++)
{
comm.Parameters .Add(coll);
}
comm.CommandType=CommandType.StoredProcedure ;
comm.CommandText =procName;

da.SelectCommand =comm;
da.Fill(ds);
}
catch(Exception e)
{
throw new Exception(e.Message);
}
finally
{
comm.Parameters.Clear();
closeConnection();
}
}

/// <summary>
/// 執(zhí)行Sql查詢語句并返回第一行的第一條記錄,返回值為object 使用時需要拆箱操作 -> Unbox
/// </summary>
/// <param name="sqlstr">傳入的Sql語句</param>
/// <returns>object 返回值 </returns>
public static object ExecuteScalar(string sqlstr)
{
object obj=new object();
try
{
openConnection();
comm.CommandType =CommandType.Text ;
comm.CommandText =sqlstr;
obj=comm.ExecuteScalar(); 
}
catch(Exception e)
{
throw new Exception(e.Message);
}
finally
{
closeConnection();
}
return obj;
}

/// <summary>
/// 執(zhí)行Sql查詢語句,同時進行事務處理
/// </summary>
/// <param name="sqlstr">傳入的Sql語句</param>
public static void ExecuteSqlWithTransaction(string sqlstr)
{
SqlTransaction trans ;
trans=conn.BeginTransaction();
comm.Transaction =trans;
try
{
openConnection();
comm.CommandType =CommandType.Text ;
comm.CommandText =sqlstr;
comm.ExecuteNonQuery(); 
trans.Commit();
}
catch
{
trans.Rollback();
}
finally
{
closeConnection();
}
}

/// <summary>
/// 返回指定Sql語句的SqlDataReader,請注意,在使用后請關閉本對象,同時將自動調用closeConnection()來關閉數據庫連接
/// 方法關閉數據庫連接
/// </summary>
/// <param name="sqlstr">傳入的Sql語句</param>
/// <returns>SqlDataReader對象</returns>
public static SqlDataReader dataReader(string sqlstr)
{
SqlDataReader dr=null;
try
{
openConnection();
comm.CommandText =sqlstr;
comm.CommandType =CommandType.Text ;
dr=comm.ExecuteReader(CommandBehavior.CloseConnection); 
}
catch
{
try
{
dr.Close();
closeConnection();
}
catch
{
}
}
return dr;
}
/// <summary>
/// 返回指定Sql語句的SqlDataReader,請注意,在使用后請關閉本對象,同時將自動調用closeConnection()來關閉數據庫連接
/// 方法關閉數據庫連接
/// </summary>
/// <param name="sqlstr">傳入的Sql語句</param>
/// <param name="dr">傳入的ref DataReader 對象</param>
public static void dataReader(string sqlstr,ref SqlDataReader dr)
{
try
{
openConnection();
comm.CommandText =sqlstr;
comm.CommandType =CommandType.Text ;
dr=comm.ExecuteReader(CommandBehavior.CloseConnection); 
}
catch
{
try
{
if(dr!=null && !dr.IsClosed)
dr.Close();
}
catch
{
}
finally
{
closeConnection();
}
}
}

/// <summary>
/// 返回指定Sql語句的DataSet
/// </summary>
/// <param name="sqlstr">傳入的Sql語句</param>
/// <returns>DataSet</returns>
public static DataSet dataSet(string sqlstr)
{
DataSet ds= new DataSet();
SqlDataAdapter da=new SqlDataAdapter();
try
{
openConnection();
comm.CommandType =CommandType.Text ;
comm.CommandText =sqlstr;
da.SelectCommand =comm;
da.Fill(ds);
}
catch(Exception e)
{
throw new Exception(e.Message); 
}
finally
{
closeConnection();
}
return ds;
}

/// <summary>
/// 返回指定Sql語句的DataSet
/// </summary>
/// <param name="sqlstr">傳入的Sql語句</param>
/// <param name="ds">傳入的引用DataSet對象</param>
public static void dataSet(string sqlstr,ref DataSet ds)
{
SqlDataAdapter da=new SqlDataAdapter();
try
{
openConnection();
comm.CommandType =CommandType.Text ;
comm.CommandText =sqlstr;
da.SelectCommand =comm;
da.Fill(ds);
}
catch(Exception e)
{
throw new Exception(e.Message); 
}
finally
{
closeConnection();
}
}
/// <summary>
/// 返回指定Sql語句的DataTable
/// </summary>
/// <param name="sqlstr">傳入的Sql語句</param>
/// <returns>DataTable</returns>
public static DataTable dataTable(string sqlstr)
{
SqlDataAdapter da=new SqlDataAdapter();
DataTable datatable=new DataTable();
try
{
openConnection();
comm.CommandType =CommandType.Text ;
comm.CommandText =sqlstr;
da.SelectCommand =comm;
da.Fill(datatable);
}
catch(Exception e)
{
throw new Exception(e.Message); 
}
finally
{
closeConnection();
}
return datatable;
}

/// <summary>
/// 執(zhí)行指定Sql語句,同時給傳入DataTable進行賦值 
/// </summary>
/// <param name="sqlstr">傳入的Sql語句</param>
/// <param name="dt">ref DataTable dt </param>
public static void dataTable(string sqlstr,ref DataTable dt)
{
SqlDataAdapter da=new SqlDataAdapter();
try
{
openConnection();
comm.CommandType =CommandType.Text ;
comm.CommandText =sqlstr;
da.SelectCommand =comm;
da.Fill(dt);
}
catch(Exception e)
{
throw new Exception(e.Message); 
}
finally
{
closeConnection();
}
}
/// <summary>
/// 執(zhí)行帶參數存儲過程并返回數據集合
/// </summary>
/// <param name="procName">存儲過程名稱</param>
/// <param name="parameters">SqlParameterCollection 輸入參數</param>
/// <returns></returns>
public static DataTable dataTable(string procName,SqlParameterCollection parameters)

SqlDataAdapter da=new SqlDataAdapter();
DataTable datatable=new DataTable();

try
{
openConnection();
comm.Parameters.Clear();
comm.CommandType=CommandType.StoredProcedure ;
comm.CommandText =procName;
foreach(SqlParameter para in parameters)
{
SqlParameter p=(SqlParameter)para;
comm.Parameters.Add(p);
}
da.SelectCommand =comm;
da.Fill(datatable);
}
catch(Exception e)
{
throw new Exception(e.Message);
}
finally
{
closeConnection();
}
return datatable;
}

public static DataView dataView(string sqlstr)
{
SqlDataAdapter da=new SqlDataAdapter();
DataView dv=new DataView();
DataSet ds=new DataSet();
try
{
openConnection();
comm.CommandType=CommandType.Text;
comm.CommandText =sqlstr;
da.SelectCommand =comm;
da.Fill(ds);
dv=ds.Tables[0].DefaultView;
}
catch(Exception e)
{
throw new Exception(e.Message);
}
finally
{
closeConnection();
}
return dv;
}
}

}

相關文章

  • 獲取遠程網頁的內容之二(downmoon原創(chuàng))

    獲取遠程網頁的內容之二(downmoon原創(chuàng))

    獲取遠程網頁的內容之二(downmoon原創(chuàng))...
    2007-03-03
  • 基于Fiddler實現修改接口返回數據進行測試

    基于Fiddler實現修改接口返回數據進行測試

    這篇文章主要介紹了基于Fiddler實現修改接口返回數據進行測試,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • c#中兩種不同的存儲過程調用與比較

    c#中兩種不同的存儲過程調用與比較

    存儲過程的調用在B/S系統(tǒng)中用的很多。傳統(tǒng)的調用方法不僅速度慢,而且代碼會隨著存儲過程的增多不斷膨脹,難以維護。新的方法在一定程度上解決了這些問題
    2012-12-12
  • 輕量級ORM框架Dapper應用支持操作函數和事物

    輕量級ORM框架Dapper應用支持操作函數和事物

    這篇文章介紹了Dapper支持操作函數和事物的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • 解決asp.net core在輸出中文時亂碼的問題

    解決asp.net core在輸出中文時亂碼的問題

    最近在學習asp.net core的時候,嘗試在控制臺,或者頁面上輸出中文,會出現亂碼的問題。那么這該如何解決呢?下面通過這篇文章來一起看看吧,文中給出了詳細的解決方法,相信對大家有一定的參考價值。
    2016-12-12
  • ASP.net連接Excel的代碼

    ASP.net連接Excel的代碼

    ASP.net連接Excel的代碼,這個是asp.net操作excel必須知道的基礎,另外的技巧可以參考腳本之家之前發(fā)布的文章。
    2010-03-03
  • .NET Core API之格式化輸出對象OutputFormatter

    .NET Core API之格式化輸出對象OutputFormatter

    這篇文章介紹了.NET Core API之格式化輸出對象OutputFormatter,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • ASP.NET操作MySql數據庫的實例代碼講解

    ASP.NET操作MySql數據庫的實例代碼講解

    這篇文章主要介紹了ASP.NET操作MySql數據庫的實例代碼講解,需要的朋友可以參考下
    2016-12-12
  • .NET 6開發(fā)TodoList應用之實現接口請求驗證

    .NET 6開發(fā)TodoList應用之實現接口請求驗證

    在響應請求處理的過程中,我們經常需要對請求參數的合法性進行校驗,如果參數不合法,將不繼續(xù)進行業(yè)務邏輯的處理。本文將介紹如何使用FluentValidation和MediatR實現接口請求驗證,需要的可以參考一下
    2021-12-12
  • ASP.NET驗證碼(3種)

    ASP.NET驗證碼(3種)

    這篇文章主要對ASP.NET實現三種驗證碼的簡單實例進行了介紹,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2015-08-08

最新評論