我拼接了一个sql,在数据库中sql语句可正确运行,但在java代码中报错,sql命令未正确结束。 5
StringBuilderstrSql=newStringBuilder();strSql.append("SELECTA.FILEOPSW4,A.FILEOPSW36,...
StringBuilder strSql = new StringBuilder();
strSql.append("SELECT A.FILEOPSW4,A.FILEOPSW36,A.FILEOPSW1,to_char(A.FILEOPSW9,'yyyy-MM-dd') as FILEOPSW9,");
strSql.append("A.FILEOPSW5,A.FILEOPSW34,B.TAG20,A.FILEOPSW28,A.FILEOPSW6,FILEOPSW35,A.FILEOPSW13,");
strSql.append("(select PRODUCTNAME from FILEFUND where CUSTID=a.FILEOPSW42 and PRODUCTID=a.FILEOPSW43) ");
strSql.append("as PRODUCTNAME,A.FILEOPSW41,A.FILEOPSW42,A.FILEOPSW43,a.FILEOPSW37,a.CALCELFLAG ");
strSql.append("FROM FILEOPSW A,SWIFTDATA B WHERE A.FILEOPSW1=B.SWIFTSEQNO ");
strSql.append("order by a.FILEOPSW9 desc "); 展开
strSql.append("SELECT A.FILEOPSW4,A.FILEOPSW36,A.FILEOPSW1,to_char(A.FILEOPSW9,'yyyy-MM-dd') as FILEOPSW9,");
strSql.append("A.FILEOPSW5,A.FILEOPSW34,B.TAG20,A.FILEOPSW28,A.FILEOPSW6,FILEOPSW35,A.FILEOPSW13,");
strSql.append("(select PRODUCTNAME from FILEFUND where CUSTID=a.FILEOPSW42 and PRODUCTID=a.FILEOPSW43) ");
strSql.append("as PRODUCTNAME,A.FILEOPSW41,A.FILEOPSW42,A.FILEOPSW43,a.FILEOPSW37,a.CALCELFLAG ");
strSql.append("FROM FILEOPSW A,SWIFTDATA B WHERE A.FILEOPSW1=B.SWIFTSEQNO ");
strSql.append("order by a.FILEOPSW9 desc "); 展开
2017-11-10
展开全部
executeQuery是专门用于执行sql查询的方法,从你的sql来开不是查询,而是执行的见表和插入语句,这种操作应该使用executeUpdate方法,同时不要把见表语句和insert语句拼成一个整个的语句去执行,这种方式在数据库直接执行ok没问题,但通过代码走
展开全部
StringBuilder strSql = new StringBuilder();
strSql.append(" SELECT A.FILEOPSW4,A.FILEOPSW36,A.FILEOPSW1,to_char(A.FILEOPSW9,'yyyy-MM-dd') as FILEOPSW9,");
strSql.append(" A.FILEOPSW5,A.FILEOPSW34,B.TAG20,A.FILEOPSW28,A.FILEOPSW6,FILEOPSW35,A.FILEOPSW13,");
strSql.append("( select PRODUCTNAME from FILEFUND where CUSTID=a.FILEOPSW42 and PRODUCTID=a.FILEOPSW43) ");
strSql.append(" as PRODUCTNAME,A.FILEOPSW41,A.FILEOPSW42,A.FILEOPSW43,a.FILEOPSW37,a.CALCELFLAG ");
strSql.append(" FROM FILEOPSW A,SWIFTDATA B WHERE A.FILEOPSW1=B.SWIFTSEQNO ");
strSql.append("order by a.FILEOPSW9 desc ");
拼接的时候 注意在每一个字符开头空一个 空字符出来,不然sql脚本里面会出错的
更多追问追答
追问
我按照您说的方法加空格也不行
1至6条是之前拼接的,可以执行,第7条是我后加的排序,运行时就报
WARN - SQL Error: 933, SQLState: 42000
ERROR - ORA-00933: SQL 命令未正确结束
INFO - org.hibernate.exception.SQLGrammarException: could not extract ResultSet
追答
strSql.append("order by a.FILEOPSW9 desc "); 改为 strSql.append("order by a.[FILEOPSW9] desc "); 呢?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询