WHERE中的多个条目或在WHERE *中使用Use *并使用LIKE SQL

时间:2013-01-14 20:07:40

标签: asp.net sql vb.net

我应该在一个以'a'开头的表的两列中得到所有内容。请建议对此进行修改。 (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 + "%'"

3 个答案:

答案 0 :(得分:1)

如果我理解你的问题,你想使用“或”而不是“和”作为“和”只会给你两列中“a”的列......

你可以更好地创建一个带有参数的存储过程并绑定到该过程。您的代码不会受到当前的注入攻击。

HTH

答案 1 :(得分:-2)

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

希望这有帮助

答案 2 :(得分:-2)

你的意思是......

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

请注意,我使用的是OR而不是AND - 这是非常基本的东西,所以如果这是你的问题,你应该阅读Boolean operations