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

當(dāng)前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀]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ù)庫的通用訪問代碼
///?此類為抽象類,不允許實例化,在應(yīng)用時直接調(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捕獲。
????????//關(guān)閉數(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方法復(fù)制參數(shù)列表中的參數(shù)
????????????clonedParms[i]?=?(SqlParameter)((ICloneable)cachedParms[i]).Clone();
?
????????return?clonedParms;
????}
?
????//////?為執(zhí)行命令準(zhǔn)備參數(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);
????????}
????}
}



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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉