i created gui can alter , retrieve data database. however, buttons throw sqlexception though task done. (for example, give me error still insert correctly database.
here code:
string sqluser = e.getactioncommand(); string sql; preparedstatement stmt; try{ if(sqluser.equals("save record")) { resultset rs; sql = "insert table_name (name, id, result, date, date2) values (?,?,?,?,?)"; stmt = con.preparestatement(sql); stmt.setstring(1, textfield.gettext()); stmt.setint(2, integer.parseint(textfield_1.gettext())); stmt.setstring(3, textfield_2.gettext()); stmt.setdate(4, new java.sql.date(system.currenttimemillis())); stmt.setdate(5, new java.sql.date(system.currenttimemillis())); rs = stmt.executequery(); updateui(rs); con.commit(); } else if(sqluser.equals("save update")) { resultset rs; sql = "update table_name set result = ? , date = ?, date2 = ? name = ? , id = ?"; stmt = con.preparestatement(sql); stmt.setstring(4, textfield.gettext()); stmt.setint(5, integer.parseint(textfield_1.gettext())); stmt.setstring(1, textfield_2.gettext()); stmt.setdate(2, new java.sql.date(system.currenttimemillis())); stmt.setdate(3, new java.sql.date(system.currenttimemillis())); rs = stmt.executequery(); updateui(rs); con.commit(); } } catch (sqlexception err) { joptionpane.showmessagedialog(null,err.getmessage()); } the updateui method follows:
public void updateui(resultset rs) { try { string strcdate = dateformat.format(rs.getdate("date")); string strladate = dateformat.format(rs.getdate("date2")); textfield.settext(rs.getstring("name")); textfield_1.settext(integer.tostring(rs.getint("id"))); textfield_2.settext(rs.getstring("result")); lblcalculationdate.settext("date: " + strcdate); lbllastaccessdate.settext("date2: " + strladate); } catch(sqlexception err) { joptionpane.showmessagedialog(null,err.getmessage()); } } the dateformat (dont think matters much):
private dateformat dateformat = new simpledateformat("yyyy-mm-dd");
- remove
con.commit();db connection default autocommit. - you can use
commit()when setcon.setautocommit(false); - the insertion execution doesn't return resultset remove
rs = stmt.executequery();, instead change updateui method accept 2 dates paramters
full new code:
string sqluser = e.getactioncommand(); string sql; preparedstatement stmt; try{ int id = integer.parseint(textfield_1.gettext()); java.sql.date date = new java.sql.date(system.currenttimemillis()); java.sql.date date2 = new java.sql.date(system.currenttimemillis()); if(sqluser.equals("save record")) { resultset rs; sql = "insert table_name (name, id, result, date, date2) values (?,?,?,?,?)"; stmt = con.preparestatement(sql); stmt.setstring(1, textfield.gettext()); stmt.setint(2, id); stmt.setstring(3, textfield_2.gettext()); stmt.setdate(4,date ); stmt.setdate(5,date2); // old: rs = stmt.executequery(); // old: updateui(rs); stmt.executeupdate(); updateui(id, textfield.gettext(),textfield_2.gettext(),date,date2 ); // old: con.commit(); } else if(sqluser.equals("save update")) { resultset rs; sql = "update table_name set result = ? , date = ?, date2 = ? name = ? , id = ?"; stmt = con.preparestatement(sql); stmt.setstring(4, textfield.gettext()); stmt.setint(5, id); stmt.setstring(1, textfield_2.gettext()); stmt.setdate(2, date); stmt.setdate(3, date2); // old: rs = stmt.executequery(); // old: updateui(rs); stmt.executeupdate(); updateui(id, textfield.gettext(),textfield_2.gettext(),date,date2 ); // old: con.commit(); } } catch (sqlexception err) { joptionpane.showmessagedialog(null,err.getmessage()); } updateui method follows: public void updateui(int id, string name, string result, date date, date date2) { try { string strcdate = dateformat.format(date);//rs.getdate("date")); string strladate = dateformat.format(date2);//rs.getdate("date2")); textfield.settext(name);//rs.getstring("name")); textfield_1.settext(id+"");//integer.tostring(rs.getint("id"))); textfield_2.settext(result);//rs.getstring("result")); lblcalculationdate.settext("date: " + strcdate); lbllastaccessdate.settext("date2: " + strladate); } catch(sqlexception err) { joptionpane.showmessagedialog(null,err.getmessage()); } }
Comments
Post a Comment