Win a copy of The Little Book of Impediments (e-book only) this week in the Agile and Other Processes forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Exceptions

 
arjun gaur
Ranch Hand
Posts: 39
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have a frame with textfields and buttons.i'm updating the data in a table stored in m.s access
But on clicking update button i'm getting this erroe : java.sql.SQLException:general error
Please help
 
Martin Vajsar
Sheriff
Posts: 3752
62
Chrome Netbeans IDE Oracle
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Please don't post your question multiple times. I've locked your other the thread in the JavaFX forum, as this forum is probably better suited (your application also seems to be Swing based, not Java FX).

I'd suggest several things to do:

1) Don't use ODBC. It's been known to contain bugs for a long time and is no longer supported in Java 8. There's a lot of databases that can be used instead of MS Access and which have JDBC drivers that actually work.

2) Separate your JDBC code from your user interface code. Put the JDBC code in standalone classes. You can write test methods that will call your JDBC code with hard-coded values, and you'll be able to post such methods here. We can't help much with your current setup, since we don't know which values were entered in the IDE. See also SSCCE.

3) You seem to be setting a date value as a String (I don't know for sure, as you haven't told us how the Appointment table is defined). Proper way to do this is to convert the text entered by the user to java.util.Date, then to java.sql.Date and then use PreparedStatement.setDate() to set the date.

It's great that you use PreparedStatement, by the way! It's one of the most important things as far as JDBC is concerned, and you've got it right.
 
Ulf Dittmer
Rancher
Posts: 42969
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Please don't post your question multiple times.

Yes, that is very annoying, especially as you got an answer already in one of the other threads (which -looking at this code here- so far you seem to have ignored).
 
arjun gaur
Ranch Hand
Posts: 39
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sorry for reposting ,i didn't see the replies in other post,
I know i used jdbc/odbc but now i'm changing it as i'v already posted queries about in JDBC forum.
And appointment table is like this
App_ID Auto number
Doctor_id Number
Patient_ID Number
App_date Date/Time
App_Time Date/Time
App_charges Number
And you said about converting text int java.util.date and then to java.sql.Date ,well i'm using the same table and i'm able to Insert the data into it without converting,so i cannot understand why that should be the problem in this case.
And folowing lines shows that App_time is getting the values from a Combo box.and iv coverted it into String using toString() and set the value using setString()
String s1=combo_time.getSelectedItem().toString();
st.setString(5,s1);

Thanks.
 
Ulf Dittmer
Rancher
Posts: 42969
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Please read my response in the other thread about what should be the first change to your code you need to make so that you find out what exactly went wrong. It's a one-line code change.
 
arjun gaur
Ranch Hand
Posts: 39
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yeah!! i read it

This is the stacktrace,can you figure out what is the problem ??

D:\m28>java Modify_appointment
error java.sql.SQLException: General error
java.sql.SQLException: General error
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6993)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7121)
at sun.jdbc.odbc.JdbcOdbc.SQLExecute(JdbcOdbc.java:3156)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(JdbcOdbcPreparedState
ment.java:215)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.executeUpdate(JdbcOdbcPrepare
dStatement.java:137)
at Modify_appointment.actionPerformed(Modify_appointment.java:188)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:20
18)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav
a:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259
)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832
)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDo
main.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDo
main.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDo
main.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThre
ad.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.
java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic