成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

sqlhelper類有什么用

這篇文章給大家分享的是有關(guān)sqlhelper類有什么用的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。

目前成都創(chuàng)新互聯(lián)公司已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站改版維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、綏化網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

SqlHelper是一個(gè)基于.NET Framework的數(shù)據(jù)庫操作組件。組件中包含數(shù)據(jù)庫操作方法。SqlHelper用于簡化你重復(fù)的去寫那些數(shù)據(jù)庫連接(SqlConnection),SqlCommand,SqlDataReader等等。SqlHelper 封裝過后通常是只需要給方法傳入一些參數(shù)如數(shù)據(jù)庫連接字符串,SQL參數(shù)等,就可以訪問數(shù)據(jù)庫了,很方便。

SQLHelper.cs文件中包含了兩個(gè)類,分別是SqlHelper和SqlHelperParameterCache。

//
public sealed class SqlHelper{}
public sealed class SqlHelperParameterCache{}

這兩個(gè)類前面都用了sealed修飾符來修飾,表示其是一個(gè)密封類,不能作為基類,不能為其他類所繼承。

SqlHelper 類提供了一組靜態(tài)方法,可以用來向 SQL Server 數(shù)據(jù)庫發(fā)出許多各種不同類型的命令。

SqlHelperParameterCache 類提供命令參數(shù)緩存功能,可以用來提高性能。該類由許多 Execute 方法(尤其是那些只運(yùn)行存儲(chǔ)過程的重寫方法)在內(nèi)部使用。數(shù)據(jù)訪問客戶端也可以直接使用它來緩存特定命令的特定參數(shù)集。

這次我們把SqlHelperParameterCache先放到一邊,來分析SqlHelper類。

方法

SqlHelper

私有方法有四個(gè),AssignParameterValues方法有一個(gè)重載:

AttachParameters:添加參數(shù)數(shù)組到指定的SqlCommand中

AssignParameterValues:為SqlParameters(參數(shù))數(shù)組賦值

PrepareCommand:用于對(duì)SqlCommand(命令)的屬性(如連接、事務(wù)環(huán)境等)進(jìn)行初始化。

公有方法有十三個(gè):這當(dāng)中每個(gè)查詢數(shù)據(jù)庫的方法用到了大量的重載,每個(gè)方法用到了八個(gè)左右的重載。

ExecuteNonQuery

此方法用于執(zhí)行不返回任何行或值的命令。這些命令通常用于執(zhí)行數(shù)據(jù)庫更新,但也可用于返回存儲(chǔ)過程的輸出參數(shù)。

ExecuteDataset

此方法返回DataSet對(duì)象,該對(duì)象包含由某一命令返回的結(jié)果集。

ExecuteReader

此方法用于返回SqlDataReader對(duì)象,該對(duì)象包含由某一命令返回的結(jié)果集。

ExecuteScalar

此方法返回一個(gè)值。該值始終是該命令返回的第一行的第一列。

ExecuteXmlReader

此方法返回 FOR XML 查詢的 XML 片段。

FillDataset

此方法向DataSet填充數(shù)據(jù)。

UpdateDataset

此方法用于執(zhí)行向DataSet增、刪、改的命令。

CreateCommand

此方法用于創(chuàng)建SqlCommand。

分析

下面我們以ExecuteNonQuery()方法為例來分析下:

sqlhelper類有什么用

我們上面看到的是ExecuteNonQuery()的九個(gè)重載方法,其中前三個(gè)是準(zhǔn)備查詢,中間三個(gè)是執(zhí)行查詢,后面三個(gè)則是用于SQL事務(wù)查詢。再細(xì)分,2-1執(zhí)行的是無參數(shù)的SQL語句,而2-2執(zhí)行的是包含參數(shù)數(shù)組的SQL語句(參數(shù)數(shù)組可以為空),2-3執(zhí)行的則是無返回值的存儲(chǔ)過程。實(shí)際上,1-1和1-3重載是為了方便無參數(shù)的SQL語句,而1-3和2-3重載只是為了方便調(diào)用存儲(chǔ)過程,他們的本質(zhì)還是和1-2和2-2一樣。下面是針對(duì)重載方法的一些簡單使用。

下面我們會(huì)使用ExecuteNonQuery來執(zhí)行帶參數(shù)的SQL語句,可以通過F11來逐語句來查看執(zhí)行過程,會(huì)有助于我們理解SQLHelper類的使用。

#region RegisterUser 注冊(cè)用戶
        /// <summary>
        /// 注冊(cè)用戶
        /// </summary>
        /// <param name="userinfo">userinfo實(shí)體</param>
        /// <returns>注冊(cè)成功返回True,失敗返回False</returns>
        public bool RegisterUser(JFEntity.UserInfo userinfo)
        {
            string sql = @"INSERT INTO T_User VALUES(@userID,@userName,@userSex,@userPassword,@userLevel)";
            SqlParameter[] sqlparamter = new SqlParameter[] 
            {
                new SqlParameter("@userID", SqlDbType.Int),
                new SqlParameter("@userName", SqlDbType.Char,30),
                new SqlParameter("@userSex", SqlDbType.Char,6),
                new SqlParameter("@userPassword", SqlDbType.Char,16),
                new SqlParameter("@userLevel", SqlDbType.Char,8),
            };
            sqlparamter[0].Value = userinfo.userID;
            sqlparamter[1].Value = userinfo.userName;
            sqlparamter[2].Value = userinfo.userSex;
            sqlparamter[3].Value = userinfo.userPassword;
            sqlparamter[4].Value = userinfo.userLevel;
            int result = SqlHelper.ExecuteNonQuery(SqlHelper.connectionString, CommandType.Text, sql, sqlparamter);
            if (result != 0)
            {
                return true;//注冊(cè)成功
            }
            else
            {
                return false;//注冊(cè)失敗
            }
        }
        #endregion

感謝各位的閱讀!關(guān)于sqlhelper類有什么用就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

文章標(biāo)題:sqlhelper類有什么用
本文URL:http://jinyejixie.com/article16/pgihdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、響應(yīng)式網(wǎng)站、網(wǎng)站內(nèi)鏈、自適應(yīng)網(wǎng)站、做網(wǎng)站、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
阿瓦提县| 闻喜县| 九龙县| 福清市| 仁寿县| 永靖县| 永靖县| 平果县| 鱼台县| 福清市| 吴旗县| 肇庆市| 慈溪市| 玉树县| 罗定市| 芮城县| 南乐县| 尼木县| 铁力市| 金川县| 花莲市| 东台市| 丹江口市| 兴城市| 安康市| 进贤县| 灵宝市| 高陵县| 佛坪县| 砚山县| 剑川县| 大英县| 建德市| 通化县| 张家口市| 东丰县| 包头市| 崇信县| 庆阳市| 鄄城县| 绥滨县|