0

VisualStudioとASP.NETの両方を初めて使用します。

VSクエリビルダーに次のコードがあります。 SELECT [Column1], [Column2], Column3 FROM [Table] WHERE (Column3 = ?)

問題は、フィールド全体でWHERE句が満たされた結果のみが表示されることです。パラメータがフィールドの一部である場合の結果も必要です。Accessでは、指定された値に対して同様のことが行われます*value*。助けてください。

4

2 に答える 2

1

試す:

WHERE (Column3 like '%' + ? + '%')
于 2013-01-06T00:54:17.247 に答える
1

パラメータという単語についてはすでに説明したので、 SQLインジェクションと変換の問題Sql-Parametersを回避するために使用することをお勧めします。

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....
        }
    }
}
于 2013-01-06T01:03:32.907 に答える