在C#中,使用參數化查詢可以提高安全性和性能
using System.Data;
using System.Data.SqlClient;
public void ExecuteParameterizedQuery()
{
// 定義連接字符串
string connectionString = "your_connection_string";
// 定義SQL語句和參數
string sqlCommandText = "INSERT INTO Users (Username, Email) VALUES (@username, @email)";
// 創建一個SqlConnection對象
using (SqlConnection connection = new SqlConnection(connectionString))
{
// 創建一個SqlCommand對象
using (SqlCommand command = new SqlCommand(sqlCommandText, connection))
{
// 添加參數
command.Parameters.Add("@username", SqlDbType.NVarChar).Value = "exampleUsername";
command.Parameters.Add("@email", SqlDbType.NVarChar).Value = "exampleEmail@example.com";
// 打開連接
connection.Open();
// 執行參數化查詢
int rowsAffected = command.ExecuteNonQuery();
// 輸出結果
Console.WriteLine($"Rows affected: {rowsAffected}");
}
}
}
在這個示例中,我們定義了一個名為ExecuteParameterizedQuery
的方法。該方法使用參數化查詢將新記錄插入到名為Users
的表中。我們使用SqlConnection
和SqlCommand
對象來執行查詢,并使用command.Parameters.Add()
方法添加參數。最后,我們調用command.ExecuteNonQuery()
方法執行查詢并返回受影響的行數。
請注意,為了避免SQL注入攻擊,請始終使用參數化查詢而不是直接將用戶輸入拼接到SQL語句中。