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