在C#中构建动态SQL查询可以使用字符串拼接的方式或者使用参数化查询。以下是一个使用参数化查询的示例:
using System; using System.Data.SqlClient; class Program { static void Main() { string connectionString = "Data Source=YourServer;Initial Catalog=YourDatabase;Integrated Security=True"; string query = "SELECT * FROM YourTable WHERE Column1 = @param1"; using (SqlConnection connection = new SqlConnection(connectionString)) { using (SqlCommand command = new SqlCommand(query, connection)) { command.Parameters.AddWithValue("@param1", "Value1"); connection.Open(); using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { Console.WriteLine(reader["Column1"]); } } } } } }
在这个示例中,我们使用参数化查询来构建动态SQL查询。首先定义了连接字符串和查询语句,然后创建了一个SqlConnection
和SqlCommand
对象,并通过AddWithValue
方法为查询参数添加了一个值。最后执行查询并读取结果。这种方式比直接拼接字符串更安全,能够防止SQL注入攻击。