91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

如何使用ADO.NET參數

發布時間:2021-11-03 15:08:09 來源:億速云 閱讀:170 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關如何使用ADO.NET參數,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

在數據驅動的應用程序中,存儲過程具有許多優勢。通過利用存儲過程,數據庫操作可以封裝在單個命令中,為獲取***性能而進行優化并通過附加的安全性得到增強。盡管可以通過在 SQL 語句中傳遞后接參數自變量的存儲過程名稱來調用相應的存儲過程,但如果使用 ADO.NET DbCommand 對象的 Parameters 集合,則可以讓您更為明確地定義存儲過程參數,并訪問輸出參數和返回值。

使用ADO.NET參數化語句在服務器上通過使用 sp_executesql 執行,sp_executesql 允許重復使用查詢計劃。sp_executesql 批處理命令中的本地光標或變量對于調用 sp_executesql 的批處理命令是不可見的。數據庫上下文中的更改只持續到 sp_executesql 語句的結尾。

對 SqlCommand 使用參數以執行 SQL Server 存儲過程時,添加到 Parameters 集合中的參數的名稱必須與存儲過程中參數標記的名稱相匹配。SQL Server 的 .NET Framework 數據訪問接口不支持問號 (?)使用ADO.NET參數傳遞到 SQL 語句或存儲過程的占位符。它將存儲過程中的參數視為命名參數,并搜索匹配的參數標記。例如,通過使用名為 @CustomerID 的參數定義 CustOrderHist 存儲過程。您的代碼在執行該存儲過程時,它也必須使用名為 @CustomerID 的參數。

此示例演示了如何調用 Northwind 示例數據庫中的 SQL Server 存儲過程。存儲過程的名稱為 dbo.SalesByCategory,它具有名為 @CategoryName 的輸入參數,其數據類型為 nvarchar(15)。該代碼在 using 代碼塊內創建一個新 SqlConnection,以便在過程結束時釋放連接。會創建 SqlCommand 和 SqlParameter 對象,并設置其屬性。SqlDataReader 會執行 SqlCommand 并從存儲過程返回結果集,以在控制臺窗口中顯示相關輸出。

您可以選擇使用任一重載構造函數在一個語句中設置多個屬性,而不是創建 SqlCommand 和 SqlParameter 對象,然后在各個語句中設置屬性。

Visual Basic

Shared Sub GetSalesByCategory(ByVal connectionString As String, _  ByVal categoryName As String)   Using connection As New SqlConnection(connectionString)   ' Create the command and set its properties.  Dim command As SqlCommand = New SqlCommand()  command.Connection = connection command.CommandText = "SalesByCategory" command.CommandType = CommandType.StoredProcedure   ' Add the input parameter and set its properties.  Dim parameter As New SqlParameter()  parameter.ParameterName = "@CategoryName" parameter.SqlDbType = SqlDbType.NVarChar  parameter.Direction = ParameterDirection.Input  parameter.Value = categoryName  ' Add the parameter to the Parameters collection.  command.Parameters.Add(parameter)   ' Open the connection and execute the reader.  connection.Open()  Dim reader As SqlDataReader = command.ExecuteReader()   If reader.HasRows Then  Do While reader.Read()  Console.WriteLine("{0}: {1:C}", _  reader(0), reader(1))  Loop  Else  Console.WriteLine("No rows returned.")  End If  End Using  End Sub

C#

static void GetSalesByCategory(string connectionString,   string categoryName)  {  using (SqlConnection connection = new SqlConnection(connectionString))  {  // Create the command and set its properties.  SqlCommand command = new SqlCommand();  command.Connection = connection;  command.CommandText = "SalesByCategory";  command.CommandType = CommandType.StoredProcedure;   // Add the input parameter and set its properties.  SqlParameter parameter = new SqlParameter();  parameter.ParameterName = "@CategoryName";  parameter.SqlDbType = SqlDbType.NVarChar;  parameter.Direction = ParameterDirection.Input;  parameter.Value = categoryName;   // Add the parameter to the Parameters collection.   command.Parameters.Add(parameter);   // Open the connection and execute the reader.  connection.Open();  SqlDataReader reader = command.ExecuteReader();   if (reader.HasRows)  {  while (reader.Read())  {  Console.WriteLine("{0}: {1:C}", reader[0], reader[1]);  }  }  else  {  Console.WriteLine("No rows found.");  }  reader.Close();  }  }

關于“如何使用ADO.NET參數”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

北宁市| 惠州市| 高淳县| 揭阳市| 米林县| 昌宁县| 茶陵县| 翁牛特旗| 威信县| 罗源县| 澄城县| 汨罗市| 丰镇市| 凭祥市| 铁岭县| 沙洋县| 合阳县| 酒泉市| 建平县| 东山县| 合肥市| 玉溪市| 美姑县| 安龙县| 贵港市| 望谟县| 北海市| 海林市| 普洱| 青铜峡市| 罗甸县| 怀远县| 克什克腾旗| 崇州市| 赣州市| 平顺县| 新丰县| 馆陶县| 洛阳市| 高陵县| 吉木萨尔县|