[Delphi] Verbinding met DB / Datasource sluiten (ADO)

Pagina: 1
Acties:

  • Oscar Mopperkont
  • Registratie: Februari 2001
  • Laatst online: 03-08-2024
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:
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 ]