C# 数组作为 SQL IN 条件 - 参数化查询示例
要将C#中的数组作为SQL的IN条件,你可以使用参数化查询来实现。下面是一个示例:
string[] array = { 'value1', 'value2', 'value3' };
string sql = "SELECT * FROM table WHERE column IN (@values)";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
using (SqlCommand command = new SqlCommand(sql, connection))
{
// 创建参数并将数组作为参数值
SqlParameter parameter = new SqlParameter("@values", SqlDbType.NVarChar);
parameter.Value = string.Join(",", array);
// 将参数添加到命令中
command.Parameters.Add(parameter);
// 执行查询
SqlDataReader reader = command.ExecuteReader();
// 处理结果集
while (reader.Read())
{
// 处理每一行的数据
}
reader.Close();
}
}
在上面的示例中,我们使用了参数化查询,将数组的值通过字符串连接的方式传递给SQL查询的IN条件。注意,参数名(@values)需要在SQL查询中与实际的参数名保持一致。
这种方式可以避免SQL注入攻击,并且可以处理包含特殊字符的数组元素。
原文地址: https://www.cveoy.top/t/topic/fkbK 著作权归作者所有。请勿转载和采集!