Avatar billede trp79 Nybegynder
21. juni 2002 - 15:02 Der er 3 kommentarer og
3 løsninger

Gemning af database før java program lukker

Hvordan får man et program i Java til at vente med at lukke til databasen, man arbejder med, er gemt. Indtal videre har jeg brugt thread.sleep-metoden til at fryse programmet i nogle sekunder, så databasen kan nå at lukke. Det fungerer, men jeg vil gerne have en bedre løsning.
Avatar billede r9 Nybegynder
21. juni 2002 - 16:10 #1
Først udfører du dit sql-statement

Statement stat=con.createStatement();   
stat.executeUpdate(sql);

og derefter lukker du forbindelsen
con.close();
Avatar billede disky Nybegynder
21. juni 2002 - 16:13 #2
se det er rent performance mæssig en dum ide, det det tager lang tid at åbne og lukke en forbindelse.

du kan bruge finalize metodiken til at gøre det når klassen nedlægges, hvilket den jo gør inden dit program nedlukkes
Avatar billede r9 Nybegynder
21. juni 2002 - 16:16 #3
du skal nok gøre sådan:

if(con!=null){
    con.close();

}
Avatar billede r9 Nybegynder
21. juni 2002 - 16:20 #4
performance mæssig er disky's måde klart bedst.
Avatar billede disky Nybegynder
21. juni 2002 - 16:44 #5
r9:
ikke nødvendigt at checke for 'null'

p.s. trp79 du behøves ikke at gøre det mindste se noten fra API'en om java.sql.Connecttion.close()
Note: A Connection object is automatically closed when it is garbage collected. Certain fatal errors also close a Connection object
Avatar billede soelvpil Nybegynder
21. juni 2002 - 16:46 #6
Den letteste løsning er noget i retningen af

Statement stat=con.createStatement();   
stat.executeUpdate(sql);
stat.close();

Men hvis problemet er, at dit program blot skal gemme noget i databasen, og herefter terminere, bør du nu lukke din connection i stedet.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester