在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 = "https://www.yisu.com/ask/exampleUsername"; command.Parameters.Add("@email", SqlDbType.NVarChar).Value = "https://www.yisu.com/ask/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语句中。