我正在開發Web服務。我以爲我準備發佈我的第一個生產版本,但我一直在收到一個對我沒有任何意義的SQLException。我正在開發一個Oracle數據庫順便說一句。 讓我給你一我的代碼:獲取SQLException java.sql.SQLException:未調用ResultSet.next
try{
variable = DoQuery("SELECT KEY FROM TABLE WHERE KEY IN ('KEY1', 'KEY2') AND ROWNUM = 1").getString("HANDLE");
}catch(SQLException e){
return "Wasn't able to gather key: " + e.toString() + " - " + e.getSQLState();
}
的方法 「DoQuery」:
private ResultSet DoQuery(String sqlString){
Statement sqlHandleStatement;
try {
sqlHandleStatement = getStatement();
return sqlHandleStatement.executeQuery(sqlString);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
的方法 「getStatement」:
private Statement getStatement() throws SQLException {
DataSource dataSource = null;
try {
dataSource = (DataSource) JNDIUtils.getInitialContext().lookup(JNDIUtils.DEFAULT_DATASOURCE);
} catch (NamingException e) {
e.printStackTrace();
}
Connection connection;
connection = dataSource.getConnection();
Statement statement;
statement = connection.createStatement();
return statement;
}
但是如果我執行我的SOAP請求我不斷收回:
<SOAP-ENV:Envelope xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<ns2:getNextRMANumberResponse xmlns:ns2="http://webservice.epm.com/">
<return>Wasn't able to gather key: java.sql.SQLException: ResultSet.next was not called - 99999</return>
</ns2:getNextRMANumberResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
錯誤消息:「無法收集密鑰:java.sql.SQLException:ResultSet.next未被調用 - 99999」(與本文中給出的第一個代碼片段相比)
這是什麼意思?我真的不明白爲什麼我應該執行「ResultSet.next」?!
在此先感謝!
如果我接下來會調用( )首先我會得到一個布爾值,所以不能調用「getString」方法。 – OddDev 2015-03-03 09:26:09
ResultSet rs = sqlStatement.executeQuery(someQuery); rs.next(); rs.getString( 「處理」); – 2015-03-03 09:33:07
像這樣:嘗試ResultSet resuse = DoQuery(「SELECT KEY FROM TABLE WHERE KEY IN('KEY1','KEY2')AND ROWNUM = 1」); resuse.next(); variable = resuse.getString(「KEY」); (); + e.toString()+「 - 」+ e.getSQLState();返回「不能收集關鍵字:」+ e.toString()+「 - 」+ e.getSQLState(); } – OddDev 2015-03-03 09:34:08