ASP.NET查询参数部分字符串

时间:2013-01-06 00:46:34

标签: sql visual-studio-2010 parameters

我是Visual Studio和ASP.NET的新手。

我在VS查询构建器中有以下代码: SELECT [Column1], [Column2], Column3 FROM [Table] WHERE (Column3 = ?)

问题是这只显示整个字段满足WHERE子句的结果。我还需要结果,其中参数只是字段的一部分。对于给定值,在Access中完成了类似的操作:*value*。 请帮忙。

2 个答案:

答案 0 :(得分:1)

尝试:

WHERE (Column3 like '%' + ? + '%')

答案 1 :(得分:1)

由于您已经提到了参数这个词,因此最好使用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....
        }
    }
}