将 textBox 值与 FLOAT sql 进行比较
Posted
技术标签:
【中文标题】将 textBox 值与 FLOAT sql 进行比较【英文标题】:Comparing textBox value to FLOAT sql 【发布时间】:2013-07-14 02:54:17 【问题描述】:我有一个搜索表单,用户可以在其中输入预算的 MAX 和 MIN 值,以在具有这些条件的可用项目之间进行搜索。
无论我在这些字段中输入什么,它总是显示相同的结果(仅针对该搜索字段)。
数据库中的字段称为预算,是一个浮点数
这里是MAX的值(和MIN一样)
Dim s = Convert.ToDouble(TxtBudgetMax.Text)
SearchMaxBud = " AND budget =< " & s & " "
而查询只是填充了
"SELECT * from Table where " & SearchMaxBud & ";"
我尝试将其设为Double
,甚至是Varchar
,但没有任何效果。请问有什么想法吗?谢谢
【问题讨论】:
小于或等于应该是"=" 查询没有返回预算小于或等于..的项目,我的问题出在哪里。 【参考方案1】:目前,我在查询中看到的唯一问题是小于或等于符号,它应该是 <=
,目前在这一行是 =<
:
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 & ";"
然后用SqlCommandObject.Parameters.AddWithValue()
方法填写@maxVal
和@maxVal
。
【讨论】:
这就像 => 和 很高兴这对您有所帮助:-) @ChaibiAlaa以上是关于将 textBox 值与 FLOAT sql 进行比较的主要内容,如果未能解决你的问题,请参考以下文章