我有以下的數據庫ShorthandText
SQLite的:結果集返回的SQLException
textid | text
--------------------------
1 | just a test
2 | just another test
我使用下面的代碼嘗試在text
列
public List<String> executeSQLWithMulipleReturns(String sql) throws SQLException{
List<String> results = null;
connection = ConnectDb();
stat = connection.createStatement();
resultSet = stat.executeQuery(sql); // sql = "SELECT text FROM ShorthandText;"
while(resultSet.next()){
results.add(resultSet.getString(resultSet.getRow()));
System.out.println(resultSet.toString());
}
closeAll(); // closes all connections
return results;
}
返回兩個字符串,但是我得到以下錯誤
java.sql.SQLException: column 2 out of bounds [1,1]
at org.sqlite.RS.checkCol(RS.java:64)
at org.sqlite.RS.markCol(RS.java:71)
at org.sqlite.RS.getString(RS.java:245)
at Java.ConnectToDatabase.executeSQLWithMulipleReturns(ConnectToDatabase.java:46)
at GUI.ShorthandText.jButton1ActionPerformed(ShorthandText.java:123)
at GUI.ShorthandText.access$000(ShorthandText.java:18)
at GUI.ShorthandText$2.actionPerformed(ShorthandText.java:82)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
......
發生在這條線上:results.add(resultSet.getString(resultSet.getRow()));
任何人都可以請解釋爲什麼我收到這個錯誤?
編輯:空指針異常
代碼
while(resultSet.next()){
results.add(resultSet.getString("text"));
System.out.println(resultSet.toString());
}
while(resultSet.next()){
results.add(resultSet.getString(1));
System.out.println(resultSet.toString());
}
既給這個例外
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Java.ConnectToDatabase.executeSQLWithMulipleReturns(ConnectToDatabase.java:46)
at GUI.ShorthandText.jButton1ActionPerformed(ShorthandText.java:123)
at GUI.ShorthandText.access$000(ShorthandText.java:18)
at GUI.ShorthandText$2.actionPerformed(ShorthandText.java:82)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
.......
但如果我嘗試類似'results.add(resultSet.getString(1));''即使數據庫中有數據,我也會得到一個空指針異常? – 2012-07-31 15:56:52
請看看我更新的答案。 – 2012-07-31 15:58:30
我也試過這也,但它也給了我一個空指針異常...我會將此添加到我的回答編輯 – 2012-07-31 15:59:36