Announcement

Collapse
No announcement yet.

ADO

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

  • ADO

    Hi,
    wie ist es eigentlich mit ADO also ich will DB mit Hilfe von ADO verbinden ( früher habe ich es immer mit ODBC gemacht ) und so wie ich es verstanden habe brauche ich dazu auch ODBC Treiber ?? wenn es stimmt dann wo zu ist eigentlich ADO gut ?? Bis jetzt habe ich es immer so verstanden das ich das ganze mit ADO ohne ODBC Treiber machen kann , wer kann es mir erklären ???

    Vielen Dank

  • #2
    aaalso, es ist so das ADO auch neue Objekte für altbekannte Aufgaben verwendet. Das Zauberwort heist hier OLE DB. OLE DB ist ein neues Interface (eine neue Treibergeneration), die Datenbanksysteme zur externen Programmierung zur Vrfßgung stellt. In gewisser Weise ist OLE DB der Nachfolger von ODBC.
    ADO ist ein einheitliches Objektmodell fßr den Zugang zu jeder Art vno Datenbanksystemen. (im Gegensatz zu DAO, welches nur für die Access Jet-Engine optimiert ist).
    Zudem ist die Objekthirarchie einfacher und übersichtlicher. Die ADO Objekte kõnnen auch auserhalb dieser Hierarchie verwendet werden (also ist es nicht unbedingt notwendig Command- und Connection-Objekte zu erzeugen, um davon abgeleitet ein Recordset-Objekt zu bilden).
    Das ADO-Objektmodell unterstützt Ereignisse. Das hilft, Redunanz im Code zu vermeiden. (kann also zentral in der entsprecheden Ereignisprozedur plaziert werden und muss nicht an mehreren Stellen im Programm angegeben werden (überall dort wo ein Datensatzwechsel ausgelöst wersen kann)).
    ADO unterstützt asynchrone Operationen. (ein entscheidender Vorteil gegenüber ODBCDirect).
    ADO ist gleichermaßen für den Zugriff auf Jet-Datenbanken und externe Datenbankserver geeignet.
    ADO ist im Hinblick auf den Internet-Datenbankzugriff optimiert.
    ......
    es gäeb jetzt noch einiges mehr zu berichten aber ich habe jetzt leider wenig Zeit.
    wenn jemand was hinzuzufügen hätte dann bitte.

    ansonsten hoffe ich habe Deine Frage weitesgehend beantwortet.
    szia, Pete

    Comment


    • #3
      Hallo,
      erst mal Danke, jetzt ist so:
      ich greife auf DB mit ADO zu es funktioniert alles wunderbar bis auf zwei Methoden und zwar die AddNew() und Delete() hier Quelcode:
      void CGfSCorpusDoc:elete()
      {
      try
      {
      // Aktuellen Datensatz aktualisieren
      m_piAdoRecordBinding->Update(&m_rsRecSet);
      // Kann ein Datensatz gelöscht werden?
      if (m_pRs->Supports(adDelete))
      {
      // Nachfragen, ob Benutzer wirklich diesen Datensatz löschen will
      if (AfxMessageBox("Diesen Datensatz wirklich löschen?",
      MB_YESNO | MB_ICONQUESTION) == IDYES)
      {
      // Datensatz löschen
      m_pRs->Delete(adAffectCurrent);
      // Aktuellen Datensatz aktualisieren
      m_pRs->MoveLast();
      }
      }
      }
      // Fehler?
      catch (_com_error &e)
      {
      // Fehlermeldung generieren
      GenerateError(e.Error(), e.Description());
      }
      }
      bei Delete ist es so das ich kann zwar den Datensatz löschen aber im Dialog entweder wird er angezeigt oder springt zwei weiter das heißt wenn ich die Nr 6 lösche und m_pRs->MoveLast(); benutze springt er auf 4 sonst bleibt er auf 6 stehen habe alles versucht auch UpdateData(FALSE); usw. hilft aber nichts ;-(((((( Ich arbeite mit SD

      Comment

      Working...
      X