Avatar billede carstensm Nybegynder
19. juni 2003 - 11:34 Der er 2 kommentarer og
1 løsning

Spørgsmål til database (ADO)

Hej, kan give mig et par råd om følgende i forbindelse med database (ADO) op mod en MSSQL-Server:

Der er to måder at åbne en query og lukke den igen:
  Query.Active := true; Query.Active := false;
  Query.Open; Query.Close;
Hvad er forskellen, og hvad bør man benytte hvornår (mht. performance m.m.)?

Hvis man Free´er en TADOQuery, bliver den så automatisk lukket med det samme, hvis den var åben?

Hvis man Free´er en TADOConnection, bliver den så automatisk lukket med det samme, hvis den var aktiv?

Har det nogen betydning for databasens performance, hvis man har flere åbne queries inden for den samme igangværende transaktion, eller er det bedre at begrænse sig til een?

MVH
Carsten
Avatar billede kustoden Nybegynder
19. juni 2003 - 14:02 #1
Metoden Open() gør kun een ting : Den sætter Active til True. Der er reelt ingen forskel på, om du bruger Open() eller sætter Active til True.

TADOQuery, og Connection bliver ikke lukket som sådan, for det er COM-objekter.
Avatar billede carstensm Nybegynder
20. juni 2003 - 11:09 #2
Men hvis jeg ikke Close´r ADOConnection før jeg Free´er den, så vil databasens ressourcer vel ikke blive frigivet, fordi databasen tror at der stadig er en connection. Eller hvad?
Avatar billede tolderlund Nybegynder
24. juni 2003 - 15:37 #3
TADOQuery er lavet så smart at Free automatisk laver en Close.
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