在搜索大于或小于的SQL查询时,使用*作为通配符

时间:2015-06-02 15:02:10

标签: c# wildcard

我希望在C#中对访问数据库中的多个列执行大于或小于搜索。

到目前为止,我试图将存储在访问数据库中的机箱号值与文本框中的值进行比较。如果该值大于文本框,则会将存储在数据库中的相关数据返回到gridview。

到目前为止我的代码是:

 var sql = "SELECT * FROM [database] WHERE (Manufacturer ='" + comboBox3.Text +
     "' OR Manufacturer='*') AND (Model ='" + comboBox4.Text + "' OR Model='*') AND (Fuel ='" +
     textBox9.Text + "' OR Fuel='*') AND (Chassisno='*' OR (Chassisno > '" + textBox2.Text + "'))";

上面的代码是找到结果,但是'大于'运算符被忽略了。

有没有人知道为什么会这样?

2 个答案:

答案 0 :(得分:2)

这部分:

Chassisno='*'

使查询找到任何内容。如果您真的只想找到大于Chassisno的值,请删除该部分查询。

答案 1 :(得分:0)

你不能将*外卡用于“=”,你应该使用“like”关键字:

.....OR Manufacturer like '*') AND (Model ='" + comboBox4.Text + "' OR Model like '*') AND (Fuel ='" +
 textBox9.Text + "' OR Fuel like '*') AND (Chassisno like'*'....