中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

sqlhelper類有什么用

發布時間:2020-12-01 13:56:01 來源:億速云 閱讀:183 作者:小新 欄目:編程語言

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

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

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

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

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

SqlHelper 類提供了一組靜態方法,可以用來向 SQL Server 數據庫發出許多各種不同類型的命令。

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

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

方法

SqlHelper

私有方法有四個,AssignParameterValues方法有一個重載:

AttachParameters:添加參數數組到指定的SqlCommand中

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

PrepareCommand:用于對SqlCommand(命令)的屬性(如連接、事務環境等)進行初始化。

公有方法有十三個:這當中每個查詢數據庫的方法用到了大量的重載,每個方法用到了八個左右的重載。

ExecuteNonQuery

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

ExecuteDataset

此方法返回DataSet對象,該對象包含由某一命令返回的結果集。

ExecuteReader

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

ExecuteScalar

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

ExecuteXmlReader

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

FillDataset

此方法向DataSet填充數據。

UpdateDataset

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

CreateCommand

此方法用于創建SqlCommand。

分析

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

sqlhelper類有什么用

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

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

#region RegisterUser 注冊用戶
        /// <summary>
        /// 注冊用戶
        /// </summary>
        /// <param name="userinfo">userinfo實體</param>
        /// <returns>注冊成功返回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;//注冊成功
            }
            else
            {
                return false;//注冊失敗
            }
        }
        #endregion

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

元氏县| 东乡族自治县| 石城县| 克东县| 罗平县| 多伦县| 新竹市| 安远县| 榆树市| 千阳县| 环江| 宜君县| 兰坪| 高雄市| 尚义县| 通化县| 三门县| 灵丘县| 庆安县| 仙桃市| 长春市| 房山区| 旺苍县| 尤溪县| 繁峙县| 迁安市| 镇安县| 湖口县| 定结县| 江川县| 江山市| 合山市| 昌邑市| 宁陵县| 冀州市| 宁明县| 华池县| 高碑店市| 平原县| 宁津县| 新竹市|