c# winform sql查询语句条件是in文本框的内容
时间: 2024-09-18 07:06:07 浏览: 65
在C# WinForm应用中,如果你想要根据用户输入的文本框内容执行SQL查询,并且这个条件是一个包含多个值的列表,可以使用`IN`关键字。假设你有一个名为`txtFilterValues`的TextBox,用户会在其中输入逗号分隔的值,你可以这样做:
```csharp
string filterValues = txtFilterValues.Text.Trim(); // 去除首尾空格
List<string> valuesList = filterValues.Split(',').ToList();
// 创建连接字符串、SqlCommand和SqlDataReader实例
using (SqlConnection connection = new SqlConnection(connectionString))
{
string query = "SELECT * FROM YourTable WHERE YourColumn IN (@filterValues)";
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.AddWithValue("@filterValues", string.Join(",", valuesList));
try
{
connection.Open();
SqlDataReader reader = command.ExecuteReader();
// 遍历查询结果并处理数据...
while (reader.Read())
{
// reader的各项数据在索引0开始,如reader[0]就是第一列的数据
}
}
catch (Exception ex)
{
Console.WriteLine($"Error executing SQL: {ex.Message}");
}
}
```
在这个例子中,你需要将`YourTable`, `YourColumn`替换为实际的表名和列名。`@filterValues`是一个参数化的查询,这样可以防止SQL注入攻击。
阅读全文