C#SQL选择不使用WHERE=decimal变量

C#SQL选择不使用WHERE=decimal变量,c#,mysql,sql,C#,Mysql,Sql,这是我的代码: string query = "SELECT TEKN,KOMMENTAR FROM dbo.JOBBTEKN WHERE JOBBNR = " + jobId + ".00"; SqlDataReader reader = new SqlCommand(query, sqlConn).ExecuteReader(); 这是我的数据: 我想用准确的JOBBNR获取多行,但这不会返回任何结果 编辑: 查询正在运行,只是我太笨了,没有在正确的表中搜索。很抱歉浪费了任何人的时间试图

这是我的代码:

string query = "SELECT TEKN,KOMMENTAR FROM dbo.JOBBTEKN WHERE JOBBNR = " + jobId + ".00";
SqlDataReader reader = new SqlCommand(query, sqlConn).ExecuteReader();
这是我的数据:

我想用准确的
JOBBNR
获取多行,但这不会返回任何结果

编辑:
查询正在运行,只是我太笨了,没有在正确的表中搜索。很抱歉浪费了任何人的时间试图提供帮助。

在单引号中包含
jobId
。将查询修改为以下内容:

"SELECT TEKN,KOMMENTAR FROM dbo.JOBBTEKN WHERE JOBBNR = '" + jobId + ".00'"
WHERE JOBBNR BETWEEN 1200.00 AND 1200.01
请注意
jobId
周围的单引号


查看注释,我怀疑
JOBBNR
的数据类型是
float
;不
decimel
float
数据类型内部包含多个精度,所以当您尝试在
WHERE=
子句中匹配它们时,可能由于精度不匹配而无法得到结果

处理这个问题有多种方法。尝试类似以下内容的

"SELECT TEKN,KOMMENTAR FROM dbo.JOBBTEKN WHERE JOBBNR = '" + jobId + ".00'"
WHERE JOBBNR BETWEEN 1200.00 AND 1200.01


为什么还要考虑JOBBNR的小数?好的老整数怎么了?@jarlh这不是我的数据库,我在为我的公司买的坏软件制作我自己的客户端!你能检查一下
JOBBNBR
数据类型,以及C#中的jobId类型吗?@Jacky这是SQL中的一个十进制数,当我为用户显示它时,我在C#中将它转换为整数。@AmitJoshi我很抱歉,伙计们,我在错误的表中搜索了。。。这个数据库太混乱了!无论如何谢谢你的帮助!