我是 Visual Studio 和 ASP.NET 的新手。
我在 VS 查询生成器中有以下代码:
SELECT [Column1], [Column2], Column3 FROM [Table] WHERE (Column3 = ?)
问题是这仅显示整个字段满足 WHERE 子句的结果。我还需要参数只是字段一部分的结果。在 Access 中对给定值进行了类似的操作:*value*
. 请帮忙。
我是 Visual Studio 和 ASP.NET 的新手。
我在 VS 查询生成器中有以下代码:
SELECT [Column1], [Column2], Column3 FROM [Table] WHERE (Column3 = ?)
问题是这仅显示整个字段满足 WHERE 子句的结果。我还需要参数只是字段一部分的结果。在 Access 中对给定值进行了类似的操作:*value*
. 请帮忙。
由于您已经提到了参数这个词,因此最好使用它Sql-Parameters
来避免sql-injection和转换问题。
string sql = @"
SELECT
[Column1], [Column2], Column3
FROM
[Table]
WHERE
(Column3 LIKE @searchPattern)";
using(var con = new SqlConnection(connectionString))
using(var cmd = new SqlCommand(sql, con))
{
cmd.Parameters.AddWithValue("@searchPattern", string.Format("%{0}%", str));
con.Open();
using(var reader = cmd.ExecuteReader())
{
while(reader.Read())
{
string col1 = reader.GetString(0); // for example etc....
}
}
}
尝试:
WHERE (Column3 like '%' + ? + '%')