Announcement

Collapse
No announcement yet.

ACESS Datenbank, und welche Schnittstelle? ADO? BDE? ODBC?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ACESS Datenbank, und welche Schnittstelle? ADO? BDE? ODBC?

    Hallo erstmal.

    Ich habe erstmal gleich viele Fragen, den ich bin noch Azubi, und lerne erst.

    1. Ich habe auf Rechner A Windows NT, Delphi 5 Pro und Acess 97. Dort habe ich mit der BDE gearbeitet. Auf Rechner B läuft Windows 98, Delphi 5 Pro und Acess 2000. Dort kann ich mit meinem Programm nicht weiter arbeiten. Er erzählt was von einem SQL Fehler. Den genauen Text weiß ich nicht mehr. Irgend eine Idee?

    2. Ich bin mir nicht mehr sicher ob ich bei der BDE bleiben will, aber die ADO Komponenten sind in der Pro Version leider nicht mit dabei. Was ist mit ODBC? Oder ist ADO irgendwie zu besorgen?

    3. Ist es eher unüblich Datenbanken mit der BDE zu erstellen? Oder ist sowas eher verbreitet. Was wäre für den Kunden ( der das Programm dann kriegt denn besser? )

    In diesem Sinne ... der Green der :-)

  • #2
    Hallo,<br>
    die Ado-Komponenten bekommt man nur in der Enterprise Version von Delphi. Man kann sie allerdings auch bei Borland nachkaufen.

    Diese Komponenten sind allerdings nicht notwendiig, um Ado zu nutzen. Sie können eine Typbibliothek anlegen und dann Ado nutzen:

    Menüpunkt Projekt, Typbibliothek importieren:
    Microsoft ActiveX Data Objects 2.6 Library

    Nun legt ihnen Delphi eine Unit an. Diese müssen sie nur in die uses Klausel ihrer Anwendung aufnehmen. Für die Verwendung der Typbibliothek gibt es viele Beispiele hier im Forum.

    Die BDE wird von Borland übrigens nicht mehr weiterentwickelt.

    Gruß Alex

    Comment


    • #3
      Das hilft mir leider alles gar nix, denn ich fürchte ich habe nicht genug Ahnung von alle dem ...um da so zu verstehen.. :-)

      Der Green der...

      Comment


      • #4
        <pre>
        Hallo,
        also noch einmal Schritt für Schritt:<br>
        1. Delphi starten
        2. Menüpunkt: Projekt
        3. Menüunterpunkt: Typbibliothek importieren
        4. Im Fenter den Eintrag: "Microsoft ActiveX Data Objects 2.6 Library
        (Version 6)" auswählen
        5. Den Dialog mit OK bestätigen
        6. Delphi zeigt nun eine Typbibliothek an, die automatisch generiert wurde
        7. Speichern
        8. Jetzt kann die eigentliche Anwendung begonnen werden.
        Also Datei\Neue Anwendung. Es muss nur der Name der Typbibliothek
        in der uses-Klausel hinzugefügt werden, um Ado zu nutzen.
        <br>
        Nun noch ein Beispiel zu Ado:
        "Boerse.mdb" ist eine Access 2000 Datenbank, "lvDaten" eine Listview,
        um die Datenbankabfrage anzuzeigen, DAX100 eine Tabelle der Datenbank,

        die folgende Felder enthält: ID, Name, WKN, Aktuell.
        <code>
        const
        cCONNECTIONSTRING = 'Provider=Microsoft.Jet.OLEDB.4.0; Data

        Source= ';

        type
        TMainForm = class(TForm)
        ... //Komponenten usw.
        end;

        implementation

        uses adodb_tlb; // Typbibliothek (generiert von Delphi)
        {$R *.DFM}

        procedure TMainForm.btnDataClick(Sender: TObject);
        var aConnection: Connection;
        aRecordSet : RecordSet;
        li : TListItem;
        sDBPath : string;
        begin
        // Pfad der Datenbank
        sDBPath:= ExtractFilePath(Application.ExeName)+'boerse.mdb';
        // Verbindung herstellen und Abfragen
        aConnection:= CoConnection.Create;
        aConnection.Open(cCONNECTIONSTRING + sDBPath,'','',-1);
        aRecordSet:= aConnection.Execute('SELECT * FROM DAX100',

        EmptyParam, -1);
        // Abfrageergebnis ausgeben
        while not aRecordSet.EOF do
        begin
        li:= lvDaten.Items.Add;
        li.Caption:= aRecordSet.Fields.Item['ID'].Value;
        li.SubItems.Add(aRecordSet.Fields.Item['Name'].Value);
        li.SubItems.Add(aRecordSet.Fields.Item['WKN'].Value);
        li.SubItems.Add(aRecordSet.Fields.Item['Aktuell'].Value);
        aRecordSet.MoveNext;
        end;
        // Datenbankverbindung trennen
        aRecordSet.Close;
        aConnection.Close;
        end;
        </code>
        Sollten sie nicht die Version 6 der Microsoft ActiveX Data Objects
        Library besitzen (also nicht in der Liste stehen), dann können sie
        diese Version bei MS kostenlos downloaden:

        http://www.microsoft.com/downloads/release.asp?ReleaseID=24511</pre&gt

        Comment


        • #5
          Hallo zusammen!<BR> <BR>

          weil auch ich nicht die große Ahnung von ADO habe, habe ich das Beispiel so in meine Anwendung kopiert. Es wird auch anstandslos compiliert. Bei der Zeile 'aConnection.Execute' bekomme ich die Fehlermeldung 'Installierbares ISAM nicht gefunden'. Was muß ich tun?

          <br>
          <br>
          Gruß
          <br>
          Uw

          Comment

          Working...
          X