//Get a specific user record from personnel table rs = stmt.executeQuery( "SELECT * FROM PERSONNEL WHERE USERNAME = '"+p.getUsername()+"'" );
//Move the cursor to where we need to the row we need to update rs.moveToCurrentRow();
//Update is a part of JDBC 2.0. Here the current row is updated rs.updateString( "USERNAME", p.getUsername() ); rs.updateString( "NAME", p.getName() ); rs.updateString( "FAMILYNAME", p.getFamilyName() ); rs.updateString( "PASSWORD", p.getPassword() ); rs.updateString( "EMAIL", p.getEmail() ); rs.updateString( "ADMINISTRATOR", convertBool(p.getAdministrator()));
//Cause the update changes to take effect rs.updateRow();
//Close the connection rs.close(); conn.close();
Nærmere bestemt på linien med rs.updateRow();
Sjovt nok virker updatefunktionen (databaseindholdet ændres), men det er jo ret irriterende med denne exception. Hvordan løser jeg dette?
okay, jeg vil dog mene at den måde du gør det på er extra besværlig.
Man skal jo ikke gøre tingene mere besværligt bare for at bruge så meget java som muligt.
Men lige hvordu man bruger moveToCurrentRow() og updateRow() kan jeg ikke hjælpe med, jeg bruger selv altid den måde jeg selv foreslog. Men hvis du finder en løsning må du gerne poste den her.
Men jeg tror det er de to metoder som driller, på en eller anden måde.
Du kan ikke bruge moveToCurrentRow i denne kontekst.
Den bruges til at flytte tilbage med efter en moveToInsertRow (som er den du kalder hvis du vil tilføje en ny row).
I din kontekst gør moveToCurrentRow ingenting. D.v.s. at du stadig står før første row - og der kan du ikke opdatere.
Hvad skal du så gøre ?
Det afhænger af hvad du vil. Men hvis jeg har ret i, at du kun har en record i det pågældende result-set, så kan du kalde en af følgende: next(); absolute(1); first(); last(); og placere dig på den første og eneste row.
[husk at checke retur værdi - de returnerer false hvis det ikke er muligt fordi der ingen rows er]
->> learnmejava; Hej dér ;o) Har I lært Java endnu? Sikke mange spørgsmål I stiller!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.