Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.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中带sum的HSQL状态不起作用_Java_Sum_Hsqldb - Fatal编程技术网

Java中带sum的HSQL状态不起作用

Java中带sum的HSQL状态不起作用,java,sum,hsqldb,Java,Sum,Hsqldb,我在java程序中使用嵌入式hsql数据库。 我想写一个hsql语句,如下所示: statement.executeQuery("SELECT sum(Points) FROM Table"); 起初我试过这个: String column = "Points"; statement.executeQuery("SELECT sum(\""+column+"\") FROM \""+table+"\""); java.sql.SQLException: Column not found

我在java程序中使用嵌入式hsql数据库。 我想写一个hsql语句,如下所示:

statement.executeQuery("SELECT sum(Points) FROM Table");
起初我试过这个:

String column = "Points";   

statement.executeQuery("SELECT sum(\""+column+"\") FROM \""+table+"\"");
java.sql.SQLException: Column not found: Points
statement.executeQuery("SELECT \""+column+"\" FROM \""+table+"\"");
下一个:

statement.executeQuery("SELECT sum(POINTS) FROM \""+table+"\"");
java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: POINTS
下一次尝试,应该永远不会奏效,但只适用于您:-)

如果我试试这个:

String column = "Points";   

statement.executeQuery("SELECT sum(\""+column+"\") FROM \""+table+"\"");
java.sql.SQLException: Column not found: Points
statement.executeQuery("SELECT \""+column+"\" FROM \""+table+"\"");
运行良好

只是想告诉你我的列存在于我的表中

本声明:

SELECT sum("Points") as test FROM "MyTable"
在SQuirrel客户端版本3.7中运行


你知道我的问题吗

在SQuirrel中使用的相同语句应该也适用。这是与Java引用相同的语句:

statement.executeQuery("SELECT sum(\"Points\") FROM \"MyTable\"");
看起来您正在从程序和SQuirrel连接到不同的数据库。尝试在SQuirrel和您的程序中使用相同的数据库文件绝对路径。您不能同时连接,因此需要先关闭SQuirrel中的数据库,然后再从程序连接

这些是我的进口货

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
此状态也不会运行:

statement.executeQuery("SELECT sum(\"Points\") FROM \"MyTable\"");
其他人的解决方案:

"SELECT sum(\"Punkte\") as TEST FROM \"Match_Stats\"");   
while(table_01.next()){
    players.get(i).setPoints(table_01.getInt("TEST"));
}

别名测试是关键。

这不是问题所在。Squirrel在iam使用java-program连接到DB时关闭。问题是您没有连接到相同的数据库文件。问题不是这个!松鼠连接到同一数据库。我认为sum语句需要其他引号。我已经添加了Java等价于您所说的在松鼠中工作的语句感谢您的工作,但您的语句与此语句相同。executeQuery(“从\“+table+”\”中选择sum(\“”+column+“\”));java.sql.SQLException:Column not found:Points我尝试了你的语句得到了相同的异常OK,我得到了!我需要为列点编写别名。从“MyTable”中选择总和(\“Points\”)作为测试;问题不在于语句,而在于表_01.getInt(“点”)。将其更改为table_01.getInt(“TEST”),并且可以正常工作。有人知道为什么吗?这是因为
sum(“Points”)
不是名为
“Points”
的列。