1

「a」で始まるテーブルの 2 列のすべてを取得することになっています。これに対する修正を提案してください。(Searchbox.Text = 'a')

ASP .Net を使用しており、言語は Visual Basic で、データベースは SQL Server Compact です。以下を試して、さまざまな結果を得ました。

コード A:

"SELECT * FROM [Table Name] WHERE [Column1] LIKE '" + SearchTextBox.Text + "%'" AND [Column2] LIKE '" + SearchTextBox.Text + "%'" 

コード B:

"SELECT * FROM [Table Name] WHERE * LIKE '" + SearchTextBox.Text + "%'"
4

3 に答える 3

1

私があなたの質問を理解している場合は、 " and " ではなく " or " を " and " として使用すると、両方の列に " a " がある列のみが表示されます...

パラメータを使用してストアドプロシージャを作成し、それにバインドする方がはるかに優れています。あなたのコードは、現在のインジェクション攻撃の対象にはなりません。

HTH

于 2013-01-14T20:14:43.690 に答える
-2

ということですか...

SELECT  *
FROM    [Table Name]
WHERE   [Column1] LIKE '" + SearchTextBox.Text + "%'"
OR      [Column2] LIKE '" + SearchTextBox.Text + "%'" 

?

ORの代わりに を使用していることに注意してくださいAND- これは非常に基本的なものなので、これが問題である場合は、ブール演算を読む必要があります

于 2013-01-14T20:16:20.380 に答える
-2
SELECT 
    * 
FROM 
    [Table Name] 
WHERE 
       [Column1] LIKE '" + SearchTextBox.Text + "%'" 
    or [Column2] LIKE '" + SearchTextBox.Text + "%'"

お役に立てれば

于 2013-01-14T20:13:27.297 に答える