26. marts 2001 - 16:49
Der er
3 kommentarer og 1 løsning
Transaktioner i Java
Hvordan sender flere sql kald i én statement til en MSSQL 7.0 database. Hvordan får man et mellem resultat fra f.eks. det første sql kald, som man kan bruge i næste kald (I samme statement)?
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
27. marts 2001 - 08:25
#1
Transaktioner implementeres i JDBC ved at du åbner en forbindelse mod databasen, og sætte autocommit til false: con.setAutoCommit(false); Herefter kan du eksekvere dine queries, updates og inserts: Statement stmt= con.createStatement(); stmt.execute(\"insert into ... \"); Når du har lave en fuld transaktion committer du dine ændringer: con.commit(); eller laver rollback: con.rollback(); That\'s it, and that\'s that ! Jeg tror at det vil være en god ide for dig at læse JDBC intro\'en fra java.sun.com.
27. marts 2001 - 09:35
#2
Tak for svaret, men det var ikke helt det jeg ønskede at vide. Lad os sige at følgende: con.setAutoCommit(false); Statement stmt= con.createStatement(); stmt.execute(\"select navn from ... \"); // Hvordan får jeg svaret dvs. navnet første // kald, som jeg kan bruge i næste? // Er det bare at ligge det over i et ResultSet? stmt.execute(\"update navn where navn = \"svarFra FørsteStmt\"); con.commit();
27. marts 2001 - 10:50
#3
Hej Camel Det du spørger om er JDBC basics ... no offence ! ResultSet rs = stmt.executeQuery( \"select name from table1\"); if ( rs.next() ) String name = rs.getString(1); rs = stmt.executeQuery(\"select id from table2 where name = \" + name); HUSK at du skal bruge executeQuery når det er queries, og execute når det er insert eller update, hvor du ikke forventer at få noget tilbage.
27. marts 2001 - 22:25
#4
Er det ikke dig (Camel) der er ham den tynde ?? -- JJ
Kurser inden for grundlæggende programmering