C#中SqlParameter的作用與用法
在C#開發中,與資料庫的互動是常見的任務之一。為了確保資料的安全性和有效性,我們經常需要使用參數化查詢來防止SQL注入攻擊。 SqlParameter是C#中用於建立參數化查詢的類,它提供了一種安全且方便的方式來處理資料庫查詢中的參數。
SqlParameter的作用
SqlParameter類別主要用於將參數加入SQL語句中。它的主要作用有以下幾個面向:
SqlParameter的用法
下面我們透過一個範例來示範如何使用SqlParameter來建立參數化查詢。
假設我們有一個名為"Employees"的表,包含了員工的ID、姓名和薪資資料。我們需要查詢工資大於指定金額的員工資料。以下是使用SqlParameter的程式碼範例:
string queryString = "SELECT EmployeeID, FirstName, LastName FROM Employees WHERE Salary > @salary"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(queryString, connection); command.Parameters.Add("@salary", SqlDbType.Decimal).Value = 5000; // 设置参数名称、类型和值 connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { int employeeId = (int)reader["EmployeeID"]; string firstName = reader["FirstName"].ToString(); string lastName = reader["LastName"].ToString(); Console.WriteLine($"Employee ID: {employeeId}, Name: {firstName} {lastName}"); } reader.Close(); }
在上面的範例中,我們首先建立了一個查詢字串,其中包含了參數名稱"@salary"。然後,我們使用SqlConnection和SqlCommand建立了一個資料庫連線和查詢命令物件。
接下來,透過呼叫command.Parameters.Add
方法,我們在查詢命令中新增了一個參數。在這裡,我們指定了參數的名稱、類型和值。在這個範例中,我們使用SqlDbType.Decimal
作為參數類型,並將參數值設為5000。
最後,我們打開資料庫連接,並執行查詢命令。透過呼叫command.ExecuteReader
來取得查詢結果,並使用SqlDataReader逐行讀取結果。在循環中,我們透過列名來取得每位員工的ID、姓名,並輸出到控制台。
總結
透過使用SqlParameter,我們可以有效地建立參數化查詢,從而提高資料庫查詢的安全性和效能。透過設定參數的名稱、類型和值,我們可以輕鬆地將參數加入SQL語句中,並防止潛在的SQL注入攻擊。希望本文對您理解C#中SqlParameter的作用與用法有所幫助。
以上是使用SqlParameter在C#中進行參數化查詢的詳細內容。更多資訊請關注PHP中文網其他相關文章!