![]() |
AdoTable vs AdoDataSet
Hallo,
überall lese ich, dass ich mit dem AdoDataSet Komponenten wie den Table nicht brauche. Wenn ich z.B. eine Access.mdb einbinden möchte, wie mache ich das dann um eine Eigenschaft für das DataSource zu bekommen? Meine Überlegungen gingen in die Richtung:
Delphi-Quellcode:
Nur funktioniert das nicht!
proc TForm1.DataSource...
begin DataSource1.DataSet := AdoDataSet1; end; Weiss jemand, was ich eingeben muss, wenn ich den Table durch das DataSet ersetzen möchte? Viele Grüsse moperswings |
Re: AdoTable vs AdoDataSet
Zitat:
Das hat eigentlich gar nix mit .Net zu tun. Unter WinForms/WebForms könnte das ganze so aussehen: Voraussetzungen:
Delphi-Quellcode:
var
conn :OleDbConnection; da :OleDbDataAdapter; cmd :OleDbCommand; ds :DataSet; begin {$region 'Erzeugen der Objekte...'} conn := OleDbConnection.Create('Dein Connection string, wie du ihn unter ADO benutzt hast'); // Die Klasse [ProviderPrefix]Command kapselt SQL Statements cmd := OleDbCommand.Create('SELECT * FROM DeineTabelle', conn); // Der DataAdapter sorgt für ein möglichst einfaches Handling von DataSets (den wirst du bald nicht mehr sehen können ;-) ) da := OleDbDataAdapter.Create(cmd); ds := DataSet.Create(); {$endregion} conn.Open(); try begin da.Fill(ds); DeinDataGrid.DataSource := ds; end finally conn.Close(); end; end; |
Re: AdoTable vs AdoDataSet
Ich benutze nicht VCL.NET.
Wenn Dein Code stimmt, darf dass doch gar nicht so kompliziert sein!!! Die einfachste Verbindung: Wenn ich in einem StringGrid mir meine Daten anzeigen lassen möchte, benutze ich eine DataSource und einen AdoTable. Wenn ich den Table durch das DataSet ersetze, darf es da doch nur ein oder zwei Zeilen Code geben, damit ich meine Connection zur DataSource bekomme! Anders kann ich mir das nicht vorstellen! Ich finde nur kein Bsp, wie der Table zu ersetzen ist! moperswings |
Re: AdoTable vs AdoDataSet
Vergiss es, ich dachte dir ginge es um die Verwendung von DataSet / DataTable in ADO.Net. ;)
Stand wohl auf'm Schlauch. :wall: |
Re: AdoTable vs AdoDataSet
Zitat:
Die TAdoDataSet Komponente bietet die meisten Möglichkeiten und kann je nachdem wie die Properties (spez. CommandType) eingestellt werden sich wie eine TADOTable, TADOQuery oder TADOStoredProcedure verhalten. TADOTable, TADOQuery, TADOStoredProc und TADOCommand sind spezialisierte Komponenten. Dabei sollte man TADOTable gar nicht verwenden, da TADOQuery dessen Aufgabe übernimmt und wesentlich mehr Möglichkeiten bietet. Als Anfänger sollte man mit TADOQuery arbeiten und mit zunehmendem Wissen TADOCommand und TADOStoredProc anwenden.
Delphi-Quellcode:
ADOTable1.TableName := 'TestTab';
ADOTable1.Open; // das Gleiche lässt sich auch mit einer Query erreichen ADOQuery1.SQL.Text := 'SELECT * FROM TestTab'; ADOQuery1.Open; |
Re: AdoTable vs AdoDataSet
Was ist das BÖSE am Table?
|
Re: AdoTable vs AdoDataSet
Die TTable wurde IMHO entwickelt um "Entwicklern" die Möglichkeit zu geben DB-Anwendungen zu schreiben, obwohl sie keinen blassen Schimmer von Datenbanken und SQL haben.
Für eine lokale Mini-"DB" á la Paradox ist es ja auch kein großes Problem ständig ALLE Datensätze zu holen. Bei einem richtigen DBMS ist das aber ziemlich lahm. Außerdem hast du keinen Einfluss auf die DML Statements, die deine Anwendung an die Datenbank schickt. :? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:29 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