0

我有一个搜索表单,用户可以在其中输入预算的 MAX 和 MIN 值,以在具有这些条件的可用项目之间进行搜索。

无论我在这些字段中输入什么,它总是显示相同的结果(仅适用于该搜索字段)。

数据库中的字段称为预算,是一个浮点数

这是 MAX 的值(与 MIN 相同)

Dim s = Convert.ToDouble(TxtBudgetMax.Text)
SearchMaxBud = " AND budget =< " & s & " "

而查询只是充满

"SELECT * from Table where " & SearchMaxBud & ";"

我试过使它成为一个Double,一个Varchar偶数,但没有任何效果。请问有什么想法吗?谢谢

4

1 回答 1

0

目前,我在查询中看到的唯一问题是小于或等于符号,它应该是<=,它目前=<在这条线上:

SearchMaxBud = " AND budget =< " & s & " "

除此之外,使用参数化值来避免 SQL 注入。

这是您的代码的修复:

Dim SearchMaxBud as string
Dim minval = Convert.ToDouble(TxtBudgetMin.Text)
SearchMaxBud += "budget >= @minVal"
Dim maxval = Convert.ToDouble(TxtBudgetMax.Text)
SearchMaxBud += " AND budget <= @maxVal"
Dim query = "SELECT * from Table where " & SearchMaxBud & ";"

然后填写@maxValand @maxValwith SqlCommandObject.Parameters.AddWithValue()method。

于 2013-07-14T03:25:43.193 回答