最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ASP.NET 數(shù)據(jù)訪問類

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

namespace SysClassLibrary
{
/// <summary>
/// DataAccess 的摘要說明。
/// <description>數(shù)據(jù)處理基類,調(diào)用方式: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 內(nèi)部函數(shù) 靜態(tài)方法中不會執(zhí)行DataAccess()構(gòu)造函數(shù)

/// <summary>
/// 打開數(shù)據(jù)庫連接
/// </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>
/// 關(guān)閉當(dāng)前數(shù)據(jù)庫連接
/// </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í)行存儲過程并返回數(shù)據(jù)集
/// </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查詢語句,同時進行事務(wù)處理
/// </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,請注意,在使用后請關(guān)閉本對象,同時將自動調(diào)用closeConnection()來關(guān)閉數(shù)據(jù)庫連接
/// 方法關(guān)閉數(shù)據(jù)庫連接
/// </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,請注意,在使用后請關(guān)閉本對象,同時將自動調(diào)用closeConnection()來關(guān)閉數(shù)據(jù)庫連接
/// 方法關(guān)閉數(shù)據(jù)庫連接
/// </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í)行帶參數(shù)存儲過程并返回數(shù)據(jù)集合
/// </summary>
/// <param name="procName">存儲過程名稱</param>
/// <param name="parameters">SqlParameterCollection 輸入?yún)?shù)</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;
}
}

}

相關(guān)文章

  • .NET實現(xiàn)異步編程async和await

    .NET實現(xiàn)異步編程async和await

    這篇文章介紹了.NET實現(xiàn)異步編程async和await的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • asp.net+sqlserver實現(xiàn)的簡單高效的權(quán)限設(shè)計示例

    asp.net+sqlserver實現(xiàn)的簡單高效的權(quán)限設(shè)計示例

    大部分系統(tǒng)都有權(quán)限系統(tǒng)。一般來說,它能管控人員對某個否頁面的訪問;對某些字段、控件可見或者不可見。對gridview中的數(shù)據(jù)是否可刪除、可添加、可新增等等。
    2010-04-04
  • 如何在.NET Core應(yīng)用中使用NHibernate詳解

    如何在.NET Core應(yīng)用中使用NHibernate詳解

    NHibernate 是一個基于.Net 的針對關(guān)系型數(shù)據(jù)庫的對象持久化類庫。下面這篇文章主要給大家介紹了關(guān)于如何在.NET Core應(yīng)用中使用NHibernate的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-08-08
  • DataGridView自動調(diào)整行高和行寬

    DataGridView自動調(diào)整行高和行寬

    根據(jù)數(shù)據(jù)內(nèi)容自動調(diào)整列寬,根據(jù)數(shù)據(jù)內(nèi)容自動調(diào)整行高
    2009-04-04
  • 網(wǎng)頁(aspx)與用戶控件(ascx)交互邏輯處理實現(xiàn)

    網(wǎng)頁(aspx)與用戶控件(ascx)交互邏輯處理實現(xiàn)

    為了以后好維護,把幾個頁面(ASPX)相同的部分抽取放在一個用戶控件(ASCX)上,現(xiàn)在把邏輯分享下,感興趣的各位可以參考下哈
    2013-03-03
  • Entity Framework加載控制Loading Entities

    Entity Framework加載控制Loading Entities

    本文詳細講解了Entity Framework加載控制Loading Entities的用法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • ASP.NET Core Web資源打包與壓縮技術(shù)介紹

    ASP.NET Core Web資源打包與壓縮技術(shù)介紹

    這篇文章介紹了ASP.NET Core Web資源打包與壓縮技術(shù),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • ASP.NET自動為URL加上超鏈接的代碼

    ASP.NET自動為URL加上超鏈接的代碼

    這篇文章主要介紹了ASP.NET自動為URL加上超鏈接的代碼,需要的朋友可以參考下
    2014-08-08
  • asp.net+Ajax校驗用戶是否存在的實現(xiàn)代碼

    asp.net+Ajax校驗用戶是否存在的實現(xiàn)代碼

    主要技術(shù)點 jquery ajax以及blur事件,當(dāng)用戶名輸入框失去焦點的時候就會觸發(fā)blur事件,然后進行ajax請求,獲得結(jié)果(true或者false),如果請求結(jié)果為true,就把用戶名輸入框圖片替換成ok,并且輸出文字:恭喜您
    2012-05-05
  • asp.net MVC實現(xiàn)無組件上傳圖片實例介紹

    asp.net MVC實現(xiàn)無組件上傳圖片實例介紹

    無組件實現(xiàn)上傳圖片使用input的file作為上傳選擇文件,具體實現(xiàn)如下:前后臺代碼很詳細,感興趣的朋友們可不要錯過了哈
    2013-05-05

最新評論

和静县| 铜陵市| 黄山市| 平安县| 永登县| 资中县| 托克托县| 黎川县| 汤阴县| 台安县| 德惠市| 句容市| 武平县| 南康市| 宝山区| 资溪县| 扬州市| 友谊县| 沽源县| 和田市| 景泰县| 舟山市| 永清县| 永寿县| 衡南县| 灵璧县| 宝兴县| 胶南市| 天津市| 通州市| 正安县| 团风县| 揭东县| 长汀县| 绥江县| 新泰市| 肥乡县| 临沭县| 云南省| 扬中市| 孝感市|