AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Daten aus AccessDB auslesen und in TListView anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

Daten aus AccessDB auslesen und in TListView anzeigen

Ein Thema von phlux · begonnen am 27. Nov 2002 · letzter Beitrag vom 7. Dez 2002
Antwort Antwort
Benutzerbild von harrybo
harrybo

Registriert seit: 26. Nov 2002
Ort: Aachen
87 Beiträge
 
Delphi 6 Enterprise
 
#1
  Alt 4. Dez 2002, 19:58
Hi phlux,

ist zwar schon eine Weile her, dass ich mit ADO entwickelt habe, aber so oder ähnlich sollte es wohl heute auch noch gehen:

Zunächst connecten bzw. disconnecten(ggfs OLEDB Version anpassen)
Code:
function TDM1.mth_Connect (Filename : string) : boolean;
begin
  try
    queTable.Close;
    conMain.Connected := false;
    conMain.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.3.51;'+
                                'Data Source=' + Filename;
    conMain.Connected := true;
    result := true;
  except
    showmessage ('Problem bei der Auswahl der Datenbank');
    result := false
  end;
end;

procedure TDM1.mth_DisConnect;
begin
  try
    queTable.Close;
    queSchema.Close;
    conMain.Connected := false;
  except
    showmessage ('Problem beim Schließen der Datenbank');
  end;
end;
Tabelle öffnen
Code:
function TDM1.mth_OpenTable(tblStr: string): boolean;
begin
  try
    with queTable do begin
      if Active then Close;
      FilterCriterion.AsString := '';
      Filtered := false;
      CommandText := tblStr;
      Open;
    end;
    queTable.GetFieldNames(FieldList);
  except
  end;
end;
Tabelle in Liste einlesen (hier werden beispielhaft die Namen der in Access gespeicherten Abfragen in eine Liste eingelesen)
Code:
function TDM1.mth_SetQueryList : boolean;
var
  i : integer;
begin
  QueryList.Clear;
  with queSchema do begin
    Close;
    InfoType := adSchemaViews;
    Filtered := false;
    Open;
    First;
    while not EOF do begin
      if queSchema['TABLE_NAME'] <> '' then
        QueryList.Add(queSchema['TABLE_NAME']);
      Next
    end;
  end;
  result := (QueryList.Count > 0);
end;
Jetzt kann man sich eine allgemeine FileOpen Routine schreiben, die als Parameter eine *.mdb erwartet (incl. Pfad):
Code:
procedure TfrmMain.mth_FileOpen(FileName : string);
begin
  if DM1.mth_Connect(FileName) then begin
    if DM1.mth_SetQueryList then
      // mach sonst noch was
    else
      showmessage('Tabelle konnte nicht eingelesen werden');
  end else
    showmessage('Datenbank konnte nicht geöffnet werden');
end;
Pass vielleicht nicht 100%ig auf Deinen Fall, hilft Dir aber hoffentlich etwas weiter.
gruß, harrybo
Harry Boldt
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz