将 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】:

目前,我在查询中看到的唯一问题是小于或等于符号,它应该是 &lt;=,目前在这一行是 =&lt;

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 进行比较的主要内容,如果未能解决你的问题,请参考以下文章

sql 如何将值与SQL进行比较?

如何将html输入的值与sql数据库的值进行比较

将 SQL 表中的值与文本框中的条目进行比较

如何将列的当前值与sql server和Oracle中同一列的先前值进行比较

将列的值与该列 SQL 的平均值进行比较

SQL将值与特定年份的平均值进行比较