【发布时间】:2014-03-17 15:23:38
【问题描述】:
对于下面的 SQL 选择语句; -
resultSet = statement.executeQuery("SELECT SS100.ORDERS.ORDER_ID, SS100.ORDERS.ORDER_NUMBER," +" SS100.ORDERS.PERSON_ID, SS100.PERSON.FIRST_NAME"+
"FROM PERSON, ORDERS " +
"WHERE SS100.PERSON.PERSON_ID = SS100.ORDERS.PERSON_ID " );
我在 WHERE 关键字上遇到语法错误 - 转储如下:-
java.sql.SQLSyntaxErrorException: Syntax error: Encountered "WHERE" at line 1, column 126.
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedStatement.executeQuery(Unknown Source)
at Database.orderQuery(Database.java:146)
at MainApp.main(MainApp.java:19)
Caused by: java.sql.SQLException: Syntax error: Encountered "WHERE" at line 1, column 126.
at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)... 10 more
我尝试过使用 alias 语句,但在 '.' 上出现错误。点运算符。我显然在做一些根本错误的事情,但我现在看不到,有人可以帮忙吗?
【问题讨论】:
-
检查您在此处生成的 SQL。如果将其打印到控制台,您会注意到,
FROM之前缺少一个空格。 -
你在
FROM之前少了一个空格 -
谢谢大家,你说的很对,问题已经解决了,现在我要解决剩下的问题了!!