Ik kan in mijn programma een aangemaakte database niet deleten en vervolgens weer wegschrijven. Het probleem is waarschijnlijk dat als ik de DB aanmaak dat ik de verbinding niet afsluit. Ik kan de database dan ook niet deleten op schijf en de verbinding blijft kennelijk in stand. Vervolgens kan ik hem niet weer met dezelfde naam aanmaken.
De code is als volgt:
Op "ADOXCatalog1.Create1(DataSource);" loopt hij dus vast.
Ik dacht zelf dat je met TADOConnection.close de boel zou kunnen sluiten. Maar dat werkt niet, ik ben dus nu maar redelijk "lukraak" commando's aan het proberen, want in Delphi is geen help over de TADO... Ik heb de volgende dingen al geprobeerd of combinaties ervan.
Ik blij dus maar proberen, maar dat schiet niet op. Weet iemand hoe hij wordt afgesloten?
De code is als volgt:
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| procedure TfrFormulier.OpslaanAlsClick(Sender: TObject); var DataSource,dbName,cs : string; i: integer; aStream: TStringStream; const S_EMPTY = ''; begin //create DB SaveDialog1.DefaultExt:='mdb'; SaveDialog1.Filter:='(mdb, *.mdb)|*.mdb;'; if (SaveDialog1.Execute) then begin if FileExists(SaveDialog1.FileName) then if (MessageDlg('Bestand bestaat al, overschrijven?', mtConfirmation,[mbYes, mbNo], 0) = mrYes) then DeleteFile(SaveDialog1.FileName) else Abort; dbName:=SaveDialog1.FileName; DataSource := 'Provider=Microsoft.Jet.OLEDB.4.0' + ';Data Source=' + dbName + ';Jet OLEDB:Engine Type=5'; ADOXCatalog1.Create1(DataSource); ... |
Op "ADOXCatalog1.Create1(DataSource);" loopt hij dus vast.
Ik dacht zelf dat je met TADOConnection.close de boel zou kunnen sluiten. Maar dat werkt niet, ik ben dus nu maar redelijk "lukraak" commando's aan het proberen, want in Delphi is geen help over de TADO... Ik heb de volgende dingen al geprobeerd of combinaties ervan.
Delphi:
1
2
3
4
5
6
7
| ADOConnection1.close; ADOXCatalog1.Disconnect; ADOConnection1.ConnectionString := ''; ADOConnection1.LoginPrompt := True; ADOCommand1.Free; ADOXCatalog1.Destroy; ADOConnection1.Connected:=false; |
Ik blij dus maar proberen, maar dat schiet niet op. Weet iemand hoe hij wordt afgesloten?
[ Voor 5% gewijzigd door Oscar Mopperkont op 23-01-2005 14:01 ]