簡體   English   中英

Java SQL查詢無法返回有效的ResultSet

[英]Java SQL query failing to return valid ResultSet

這讓我很生氣,因為我無法理解它。 我正在執行以下代碼:

nameString = jcbClientList.getItemAt(jcbClientList.getSelectedIndex());
System.out.println(" Name String = " + nameString );
sql = "SELECT * FROM clients WHERE Name = \'" + nameString + "\'";
System.out.println(sql);

try {
    Statement st = con.createStatement();
    ResultSet rs = st.executeQuery(sql);
    while( rs.next()) {
        clientID = rs.getInt(1);
    }
}
catch(SQLException se) {
    msg = "Problem getting client ID from DB \n" + se.getLocalizedMessage();
    System.out.println(msg);
    JOptionPane.showMessageDialog(null, msg);
}

構建的SQL字符串是正確的。 我通過獲取字符串的System.out.println(sql)輸出並將其粘貼到其他代碼中來檢查這一點,它完美地工作。 但是,在這種情況下,我得到一個例外:

游標狀態無效 - 沒有當前行。

即使我將sql更改為'SELECT * FROM clients',它應該返回20行並且在應用程序的其他地方執行,它仍然會給出相同的錯誤。 正在尋址的數據庫是嵌入式Derby DB。

我似乎記得遇到過沒有正確實現“ResultSet游標最初位於第一行之前”的部分的特定JDBC驅動程序。 我首先執行first()(或beforeFirst())調用,然后才開始調用next()。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM