Я пытаюсь создать простую графическую программу, которая имеет доступ к моей базе данных дерби.Java GUI с базой данных
public void viewRecord(int id)
{
try{
GET_RECORD = "SELECT * FROM record where id = ?";
s = c.prepareStatement(GET_RECORD);
s.setInt(1, id);
r = s.executeQuery();
rs = r.getMetaData();
System.out.printf("%-15d%-15s%-15d%-15s%-15s",r.getInt(1), r.getString(2), r.getInt(3),r.getString(4),r.getString(5));
}catch (SQLException ex) {
java.util.logging.Logger.getLogger(Dbase.class.getName()).log(Level.SEVERE, null, ex);
}
}
Всякий раз, когда функция вызывается, я получаю
java.sql.SQLException: Недопустимая операция в текущей позиции курсора.
Что случилось с моим синтаксисом? Спасибо :)
EDIT: Полное сообщение об ошибке
31 января 2016 12:16:15 AM database.project.Dbase viewRecord ТЯЖЕЛАЯ (?): Нулевой java.sql.SQLException: Недопустимая операция в текущей позиции курсора. at org.apache.derby.client.am.SQLExceptionFactory.getSQLException (Неизвестный источник) at org.apache.derby.client.am.SqlException.getSQLException (Неизвестный источник) на org.apache.derby.client.am. ClientResultSet.getInt (Неизвестный источник) в базе данных.project.Dbase.viewRecord (Dbase.java:95) в базе данных.project.viewItem.btnViewActionPerformed (viewItem.java:107) в database.project.viewItem.access $ 000 (viewItem.java:6) в database.project.viewItem $ 1.actionPerformed (viewItem.java:39) в javax.swing.AbstractButton.fireActionPerformed (AbstractButton.java:2022) в javax.swing.AbstractButton $ Handler.actionPerformed (AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActio nPerformed (DefaultButtonModel.java:402) на javax.swing.DefaultButtonModel.setPressed (DefaultButtonModel.java:259) на javax.swing.plaf.basic.BasicButtonListener.mouseReleased (BasicButtonListener.java:252) на java.awt. Component.processMouseEvent (Component.java:6535) в javax.swing.JComponent.processMouseEvent (JComponent.java:3324) на java.awt.Component.processEvent (Component.java:6300) на java.awt.Container. processEvent (Container.java:2236) на java.awt.Component.dispatchEventImpl (Component.java:4891) на java.awt.Container.dispatchEventImpl (Container.java:2294) на java.awt.Component.dispatchEvent (Component.java:4713) на java.awt.LightweightDispatcher.retargetMouseE Вентиляционное отверстие (Container.java:4888) на java.awt.LightweightDispatcher.processMouseEvent (Container.java:4525) на java.awt.LightweightDispatcher.dispatchEvent (Container.java:4466) в java.awt.Container.dispatchEventImpl (Container.java:2280) at java.awt.Window.dispatchEventImpl (Window.java:2750) at java.awt.Component.dispatchEvent (Component.java:4713) at java.awt.EventQueue.dispatchEventImpl (EventQueue. java: 758) at java.awt.EventQueue.access $ 500 (EventQueue.java:97) at java.awt.EventQueue $ 3.run (EventQueue.java:709) at java.awt.EventQueue $ 3.run (EventQueue .java: 703) at java.security.AccessController.doPrivileged (собственный метод) at java.security.P rotectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (ProtectionDomain.java:76) в java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (ProtectionDomain.java:86) в java.awt.EventQueue $ 4.run (EventQueue.java:731) на Java .awt.EventQueue $ 4.run (EventQueue.java:729) at java.security.AccessController.doPrivileged (Native Method) в java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (ProtectionDomain.java:76) в java.awt.EventQueue.dispatchEvent (EventQueue.java:728) в java.awt.EventDispatchThread.pumpOneEventForFilters (EventDispatchThread .java: 201) на java.awt.EventDispatchThread.pumpEventsForFilter (EventDispatchThread.java:116) в java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:105) в java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java : 101) at java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:93) at java.awt.EventDispatchThread.run (EventDispatchThread.java:82) Вызвано: ERROR XJ121: Недействительная операция при действии в положение курсора. в org.apache.derby.client.am.ClientResultSet.checkForValidCursorPosition (Unknown Source) в org.apache.derby.client.am.ClientResultSet.checkGetterPreconditions (Unknown Source) ... 41 более
1. Сначала избавиться от кода свинга, так как ваша проблема не имеет ничего общего с свинг и все это связано с неверным оператором SQL, и вы захотите упростить свою проблему для его решения. 2. Отправьте свое ** полное сообщение об ошибке **. –
И какая строка выдает исключение? –
sysout stament throws exc. – Satya