www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > > 充電吧
[導讀]using?System; using?System.Data; using?System.Configuration; using?System.Web; using?System.Web.Secu


using?System;
using?System.Data;
using?System.Configuration;
using?System.Web;
using?System.Web.Security;
using?System.Collections;
using?System.Data.SqlClient;
?
//////?數(shù)據(jù)庫的通用訪問代碼
///?此類為抽象類,不允許實例化,在應用時直接調(diào)用即可
///public?abstract?class?SqlHelper
{
????//獲取數(shù)據(jù)庫連接字符串,其屬于靜態(tài)變量且只讀,項目中所有文檔可以直接使用,但不能修改
????public?static?readonly?string?ConnectionStringLocalTransaction?=?ConfigurationManager.ConnectionStrings["pubsConnectionString"].ConnectionString;
?
????//?哈希表用來存儲緩存的參數(shù)信息,哈希表可以存儲任意類型的參數(shù)。
????private?static?Hashtable?parmCache?=?Hashtable.Synchronized(new?Hashtable());
?
????//////執(zhí)行一個不需要返回值的SqlCommand命令,通過指定專用的連接字符串。
????///?使用參數(shù)數(shù)組形式提供參數(shù)列表?
????/////////?使用示例:
????///??int?result?=?ExecuteNonQuery(connString,?CommandType.StoredProcedure,?"PublishOrders",?new?SqlParameter("@prodid",?24));
????//////一個有效的數(shù)據(jù)庫連接字符串///SqlCommand命令類型?(存儲過程,?T-SQL語句,?等等。)///存儲過程的名字或者?T-SQL?語句///以數(shù)組形式提供SqlCommand命令中用到的參數(shù)列表///返回一個數(shù)值表示此SqlCommand命令執(zhí)行后影響的行數(shù)public?static?int?ExecuteNonQuery(string?connectionString,?CommandType?cmdType,?string?cmdText,?params?SqlParameter[]?commandParameters)
????{
?
????????SqlCommand?cmd?=?new?SqlCommand();
?
????????using?(SqlConnection?conn?=?new?SqlConnection(connectionString))
????????{
????????????//通過PrePareCommand方法將參數(shù)逐個加入到SqlCommand的參數(shù)集合中
????????????PrepareCommand(cmd,?conn,?null,?cmdType,?cmdText,?commandParameters);
????????????int?val?=?cmd.ExecuteNonQuery();
?
????????????//清空SqlCommand中的參數(shù)列表
????????????cmd.Parameters.Clear();
????????????return?val;
????????}
????}
?????
????//////執(zhí)行一條不返回結(jié)果的SqlCommand,通過一個已經(jīng)存在的數(shù)據(jù)庫連接?
????///?使用參數(shù)數(shù)組提供參數(shù)
????/////////?使用示例:??
????///??int?result?=?ExecuteNonQuery(conn,?CommandType.StoredProcedure,?"PublishOrders",?new?SqlParameter("@prodid",?24));
????//////一個現(xiàn)有的數(shù)據(jù)庫連接///SqlCommand命令類型?(存儲過程,?T-SQL語句,?等等。)///存儲過程的名字或者?T-SQL?語句///以數(shù)組形式提供SqlCommand命令中用到的參數(shù)列表///返回一個數(shù)值表示此SqlCommand命令執(zhí)行后影響的行數(shù)public?static?int?ExecuteNonQuery(SqlConnection?connection,?CommandType?cmdType,?string?cmdText,?params?SqlParameter[]?commandParameters)
????{
?
????????SqlCommand?cmd?=?new?SqlCommand();
?
????????PrepareCommand(cmd,?connection,?null,?cmdType,?cmdText,?commandParameters);
????????int?val?=?cmd.ExecuteNonQuery();
????????cmd.Parameters.Clear();
????????return?val;
????}
?
????//////?執(zhí)行一條不返回結(jié)果的SqlCommand,通過一個已經(jīng)存在的數(shù)據(jù)庫事物處理?
????///?使用參數(shù)數(shù)組提供參數(shù)
????/////////?使用示例:?
????///??int?result?=?ExecuteNonQuery(trans,?CommandType.StoredProcedure,?"PublishOrders",?new?SqlParameter("@prodid",?24));
????//////一個存在的?sql?事物處理///SqlCommand命令類型?(存儲過程,?T-SQL語句,?等等。)///存儲過程的名字或者?T-SQL?語句///以數(shù)組形式提供SqlCommand命令中用到的參數(shù)列表///返回一個數(shù)值表示此SqlCommand命令執(zhí)行后影響的行數(shù)public?static?int?ExecuteNonQuery(SqlTransaction?trans,?CommandType?cmdType,?string?cmdText,?params?SqlParameter[]?commandParameters)
????{
????????SqlCommand?cmd?=?new?SqlCommand();
????????PrepareCommand(cmd,?trans.Connection,?trans,?cmdType,?cmdText,?commandParameters);
????????int?val?=?cmd.ExecuteNonQuery();
????????cmd.Parameters.Clear();
????????return?val;
????}
?
????//////?執(zhí)行一條返回結(jié)果集的SqlCommand命令,通過專用的連接字符串。
????///?使用參數(shù)數(shù)組提供參數(shù)
????/////////?使用示例:??
????///??SqlDataReader?r?=?ExecuteReader(connString,?CommandType.StoredProcedure,?"PublishOrders",?new?SqlParameter("@prodid",?24));
????//////一個有效的數(shù)據(jù)庫連接字符串///SqlCommand命令類型?(存儲過程,?T-SQL語句,?等等。)///存儲過程的名字或者?T-SQL?語句///以數(shù)組形式提供SqlCommand命令中用到的參數(shù)列表///返回一個包含結(jié)果的SqlDataReaderpublic?static?SqlDataReader?ExecuteReader(string?connectionString,?CommandType?cmdType,?string?cmdText,?params?SqlParameter[]?commandParameters)
????{
????????SqlCommand?cmd?=?new?SqlCommand();
????????SqlConnection?conn?=?new?SqlConnection(connectionString);
?
????????//?在這里使用try/catch處理是因為如果方法出現(xiàn)異常,則SqlDataReader就不存在,
????????//CommandBehavior.CloseConnection的語句就不會執(zhí)行,觸發(fā)的異常由catch捕獲。
????????//關閉數(shù)據(jù)庫連接,并通過throw再次引發(fā)捕捉到的異常。
????????try
????????{
????????????PrepareCommand(cmd,?conn,?null,?cmdType,?cmdText,?commandParameters);
????????????SqlDataReader?rdr?=?cmd.ExecuteReader(CommandBehavior.CloseConnection);
????????????cmd.Parameters.Clear();
????????????return?rdr;
????????}
????????catch
????????{
????????????conn.Close();
????????????throw;
????????}
????}
?
????//////?執(zhí)行一條返回第一條記錄第一列的SqlCommand命令,通過專用的連接字符串。?
????///?使用參數(shù)數(shù)組提供參數(shù)
????/////////?使用示例:??
????///??Object?obj?=?ExecuteScalar(connString,?CommandType.StoredProcedure,?"PublishOrders",?new?SqlParameter("@prodid",?24));
????//////一個有效的數(shù)據(jù)庫連接字符串///SqlCommand命令類型?(存儲過程,?T-SQL語句,?等等。)///存儲過程的名字或者?T-SQL?語句///以數(shù)組形式提供SqlCommand命令中用到的參數(shù)列表///返回一個object類型的數(shù)據(jù),可以通過?Convert.To{Type}方法轉(zhuǎn)換類型public?static?object?ExecuteScalar(string?connectionString,?CommandType?cmdType,?string?cmdText,?params?SqlParameter[]?commandParameters)
????{
????????SqlCommand?cmd?=?new?SqlCommand();
?
????????using?(SqlConnection?connection?=?new?SqlConnection(connectionString))
????????{
????????????PrepareCommand(cmd,?connection,?null,?cmdType,?cmdText,?commandParameters);
????????????object?val?=?cmd.ExecuteScalar();
????????????cmd.Parameters.Clear();
????????????return?val;
????????}
????}
?
????//////?執(zhí)行一條返回第一條記錄第一列的SqlCommand命令,通過已經(jīng)存在的數(shù)據(jù)庫連接。
????///?使用參數(shù)數(shù)組提供參數(shù)
????/////////?使用示例:?
????///??Object?obj?=?ExecuteScalar(connString,?CommandType.StoredProcedure,?"PublishOrders",?new?SqlParameter("@prodid",?24));
????//////一個已經(jīng)存在的數(shù)據(jù)庫連接///SqlCommand命令類型?(存儲過程,?T-SQL語句,?等等。)///存儲過程的名字或者?T-SQL?語句///以數(shù)組形式提供SqlCommand命令中用到的參數(shù)列表///返回一個object類型的數(shù)據(jù),可以通過?Convert.To{Type}方法轉(zhuǎn)換類型public?static?object?ExecuteScalar(SqlConnection?connection,?CommandType?cmdType,?string?cmdText,?params?SqlParameter[]?commandParameters)
????{
?
????????SqlCommand?cmd?=?new?SqlCommand();
?
????????PrepareCommand(cmd,?connection,?null,?cmdType,?cmdText,?commandParameters);
????????object?val?=?cmd.ExecuteScalar();
????????cmd.Parameters.Clear();
????????return?val;
????}
?
????//////?緩存參數(shù)數(shù)組
????//////參數(shù)緩存的鍵值///被緩存的參數(shù)列表public?static?void?CacheParameters(string?cacheKey,?params?SqlParameter[]?commandParameters)
????{
????????parmCache[cacheKey]?=?commandParameters;
????}
?
????//////?獲取被緩存的參數(shù)
????//////用于查找參數(shù)的KEY值///返回緩存的參數(shù)數(shù)組public?static?SqlParameter[]?GetCachedParameters(string?cacheKey)
????{
????????SqlParameter[]?cachedParms?=?(SqlParameter[])parmCache[cacheKey];
?
????????if?(cachedParms?==?null)
????????????return?null;
?
????????//新建一個參數(shù)的克隆列表
????????SqlParameter[]?clonedParms?=?new?SqlParameter[cachedParms.Length];
?
????????//通過循環(huán)為克隆參數(shù)列表賦值
????????for?(int?i?=?0,?j?=?cachedParms.Length;?i?<?j;?i++)
????????????//使用clone方法復制參數(shù)列表中的參數(shù)
????????????clonedParms[i]?=?(SqlParameter)((ICloneable)cachedParms[i]).Clone();
?
????????return?clonedParms;
????}
?
????//////?為執(zhí)行命令準備參數(shù)
????//////SqlCommand?命令///已經(jīng)存在的數(shù)據(jù)庫連接///數(shù)據(jù)庫事物處理///SqlCommand命令類型?(存儲過程,?T-SQL語句,?等等。)///Command?text,T-SQL語句?例如?Select?*?from?Products///返回帶參數(shù)的命令private?static?void?PrepareCommand(SqlCommand?cmd,?SqlConnection?conn,?SqlTransaction?trans,?CommandType?cmdType,?string?cmdText,?SqlParameter[]?cmdParms)
????{
?
????????//判斷數(shù)據(jù)庫連接狀態(tài)
????????if?(conn.State?!=?ConnectionState.Open)
????????????conn.Open();
?
????????cmd.Connection?=?conn;
????????cmd.CommandText?=?cmdText;
?
????????//判斷是否需要事物處理
????????if?(trans?!=?null)
????????????cmd.Transaction?=?trans;
?
????????cmd.CommandType?=?cmdType;
?
????????if?(cmdParms?!=?null)
????????{
????????????foreach?(SqlParameter?parm?in?cmdParms)
????????????????cmd.Parameters.Add(parm);
????????}
????}
}



本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅(qū)動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅(qū)動性能的關鍵。

關鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質(zhì)量和效率直接關系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅(qū)動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關鍵字: LED 驅(qū)動電源 開關電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅(qū)動電源
關閉