将textBox值与FLOAT sql进行比较

时间:2013-07-14 02:54:17

标签: sql vb.net

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

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

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

这是MAX的值(与MIN相同)

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

查询只是填充

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

我已尝试将其设为DoubleVarchar甚至,并且没有任何效果。有什么好主意吗?感谢

1 个答案:

答案 0 :(得分: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 & ";"

然后使用@maxVal方法填写@maxValSqlCommandObject.Parameters.AddWithValue()