消息关闭
    暂无新消息!

在PLSQL中可以执行的SQL为:select t.userid from t_topo_stb t where t.userid like '_5%' and t.fathernodename like 'Center%';

对SQL语句进行转义后如下:
我的测试的类中,运行到30行报如下错。
请问各位大侠,这个问题出于何处?谢谢。

28行         String sql = "select userid from t/_topo/_stb where userid like ''/_5/%'' and fathernodename like ''Center/%'';";
29行         statement = con.createStatement();
30行         result = statement.executeQuery(sql);

java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:395)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:802)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:521)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:194)
at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:853)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1145)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1267)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1469)
at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:389)
at TestJDBC.testOracle(TestJDBC.java:30)
at TestJDBC.main(TestJDBC.java:79)
数据库连接已关闭!


1个回答

︿ 1
 ORA-00933: SQL command not properly ended。。。
String sql = "select userid from t/_topo/_stb where userid like ''/_5/%'' and fathernodename like ''Center/%'';";
改为

String sql="select userid from t/_topo/_stb where userid like \"_5%\" and fathernodename like \"Center%\"";