Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的SQL语句不能提取与MSSQL中相同的信息_Java_Sql_Mssql Jdbc - Fatal编程技术网

Java中的SQL语句不能提取与MSSQL中相同的信息

Java中的SQL语句不能提取与MSSQL中相同的信息,java,sql,mssql-jdbc,Java,Sql,Mssql Jdbc,我正试图从Java数据库中获取一些信息 String sql_get_Tot = " SELECT dbo.table1.Quantity * dbo.table2.CostPerIndivdual AS QC FROM dbo.table1 INNER JOIN dbo.table2 ON dbo._IISJoin.ItemID = dbo.table2.ItemID

我正试图从Java数据库中获取一些信息

String sql_get_Tot = "
    SELECT 
        dbo.table1.Quantity * dbo.table2.CostPerIndivdual AS QC 
    FROM 
        dbo.table1 
        INNER JOIN 
        dbo.table2 
            ON dbo._IISJoin.ItemID = dbo.table2.ItemID 
    WHERE
        dbo.table1.SupplierID = 2 AND 
        dbo.table1.ItemID = 1 AND 
        dbo.table1.InvoiceID = 2
";

state = con.createStatement();
    total = state.executeQuery(sql_get_Tot);
totalsql = total.getFloat(1);
这在结果集中不返回任何内容

在MSSQL中运行完全相同的查询,我得到10.00

如果你知道这里出了什么问题,我已经检查了一些基础知识,比如连接到正确的数据库等等

感谢您提前提供的任何帮助。

我相信“总计”是一个结果集。那么你需要做一个:

if(total.next()){
   totalsql = total.getFloat(1);
   ...

我想你必须提到db名称来代替dbo,这样它才能工作mysql@ChakradharVyza-他根本没有提到MySQL,所以这不可能是解决方案。对于OP-您使用浮点值作为货币值。不建议这样做,尤其是因为您不能准确地表示像
.1
这样的值。在Java中,你应该使用
BigDecimal
。你能不能至少建议他不要使用看起来是货币值的浮点值?嗨@Clockwork Muse。我知道你在说什么,但我不确定你用
BigDecimal
是什么意思?当我看他的代码时,我可能也会使用float。你能举个例子,让我们明白你的意思吗?这听起来像是一个有趣的答案……请参阅到的一些答案(以及评论和链接)。还可以看看其中的一些。会计往往对零碎金额有非常严格的规定;请注意,虽然浮点具有定义良好的行为,但会计所遵循的规则并不相同,可表示的值通常是非直观的。