i using netbeans, alongside sqlite dbms. strangely, can add record database, delete record, , display records, however, when try update record nothing happens, not error. know what's problem?
import java.sql.*; import java.util.scanner; public class example { public static void main(string[] args) { try { class.forname( "org.sqlite.jdbc" ); } catch ( exception e ) { system.out.println( e ); } connection c = null; try { c = drivermanager.getconnection( "jdbc:sqlite:example.db" ); } catch ( sqlexception s ) { system.out.println( s ); } string sql = "insert classmates values (?,?,?,?,?)"; string deletesql = "delete classmates cid = ?"; string updatesql = "update classmates set firstname=?,lastname=?,age=?,gpa=? cid =?"; string showsql = "select * classmates"; int cid; string firstname; string lastname; double age; double gpa; char selection; boolean valid scanner in = new scanner( system.in ); preparedstatement p = null; resultset r = null; { system.out.print("a -add classmate\n"); system.out.print("r - remove classmate\n"); system.out.print("s - show classmates\n"); system.out.print("u - update classmate\n"); system.out.print("q - quit\n"); selection = in.next().charat(0); switch(selection) { case 'a': case 'a': case 'r': case 'r': case 's': case 's': case 'u': case 'u': case 'q': case 'q': valid = true; break; default: valid = false; } switch(selection) { case 'a': case 'a': system.out.print("enter cid: "); cid = in.nextint(); in.skip("\n"); system.out.print("enter first name: "); firstname = in.nextline(); system.out.print("enter last name: "); lastname = in.nextline(); system.out.print("enter age: "); age = in.nextdouble(); system.out.print("enter gpa: "); gpa = in.nextdouble(); try { p = c.preparestatement( sql ); p.clearparameters(); p.setint( 1, cid ); p.setstring( 2, firstname ); p.setstring(3, lastname); p.setdouble(4, age); p.setdouble(5, gpa); p.executeupdate(); } catch ( sqlexception s ) { system.out.println( s ); } break; case 'r': case 'r': system.out.print("enter cid: "); cid = in.nextint(); try { p = c.preparestatement( deletesql ); p.setint( 1, sid ); // execute sql delete p.executeupdate(); } catch ( sqlexception s ) { system.out.println( s ); } break; case 's': case 's': try { p = c.preparestatement( showsql ); p.clearparameters(); r = p.executequery(); while( r.next() ) { system.out.println( "cid: " + r.getint( 1 ) + ", first name: " + r.getstring( 2 ) + ", last name: " + r.getstring( 3 ) + ", age: " + r.getdouble( 4) + ", gpa: " + r.getdouble(5) ); } } catch ( sqlexception s ) { system.out.println( "exception 4: " + s ); } break; case 'u': case 'u': system.out.print("enter cid: "); cid = in.nextint(); in.skip("\n"); system.out.print("update first name: "); firstname = in.nextline(); system.out.print("update last name: "); lastname = in.nextline(); system.out.print("update age of student: "); age = in.nextdouble(); system.out.print("update gpa of student: "); gpa = in.nextdouble(); try { p = c.preparestatement( updatesql ); p.clearparameters(); p.setint( 1, cid ); p.setstring( 2, firstname ); p.setstring(3, lastname); p.setdouble(4, age); p.setdouble(5, gpa); p.executeupdate(); } catch ( sqlexception e ) { system.out.println( e.getmessage() ); } break; case 'q': case 'q': try { r.close(); c.close(); } catch( sqlexception s ) { system.out.println( "exception 5: " + s ); } break; default: system.out.println("wrong selection"); } }while (selection != 'q' || selection != 'q'); } }
your update code has p.setint( 1, cid );
cid field listed last in statement: string updatesql = "update classmates set fname=?,lname=?,age=?,gpa=? sid =?";
Comments
Post a Comment