AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi AdoTable vs AdoDataSet
Thema durchsuchen
Ansicht
Themen-Optionen

AdoTable vs AdoDataSet

Ein Thema von moperswings · begonnen am 22. Nov 2004 · letzter Beitrag vom 22. Nov 2004
Antwort Antwort
moperswings

Registriert seit: 27. Mai 2004
Ort: Bad Sooden-Allendorf
240 Beiträge
 
Delphi 6 Professional
 
#1

AdoTable vs AdoDataSet

  Alt 22. Nov 2004, 17:09
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:
proc TForm1.DataSource...
begin DataSource1.DataSet := AdoDataSet1;
end;
Nur funktioniert das nicht!

Weiss jemand, was ich eingeben muss, wenn ich den Table durch das DataSet ersetzen möchte?

Viele Grüsse

moperswings
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#2

Re: AdoTable vs AdoDataSet

  Alt 22. Nov 2004, 17:34
Zitat von moperswings:
begin DataSource1.DataSet := AdoDataSet1;
Benutzt du da VCL.Net?
Das hat eigentlich gar nix mit .Net zu tun.
Unter WinForms/WebForms könnte das ganze so aussehen:
Voraussetzungen:
  • In der Uses-Clause:uses ... System.Data, System.Data.OleDb;
  • Ein DataFrid auf deinem Form
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;
  Mit Zitat antworten Zitat
moperswings

Registriert seit: 27. Mai 2004
Ort: Bad Sooden-Allendorf
240 Beiträge
 
Delphi 6 Professional
 
#3

Re: AdoTable vs AdoDataSet

  Alt 22. Nov 2004, 17:53
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
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#4

Re: AdoTable vs AdoDataSet

  Alt 22. Nov 2004, 18:11
Vergiss es, ich dachte dir ginge es um die Verwendung von DataSet / DataTable in ADO.Net.
Stand wohl auf'm Schlauch.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: AdoTable vs AdoDataSet

  Alt 22. Nov 2004, 18:57
Zitat von moperswings:
überall lese ich, dass ich mit dem AdoDataSet Komponenten wie den Table nicht brauche.
Das kann man so nicht sagen.
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;
Andreas
  Mit Zitat antworten Zitat
moperswings

Registriert seit: 27. Mai 2004
Ort: Bad Sooden-Allendorf
240 Beiträge
 
Delphi 6 Professional
 
#6

Re: AdoTable vs AdoDataSet

  Alt 22. Nov 2004, 19:43
Was ist das BÖSE am Table?
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#7

Re: AdoTable vs AdoDataSet

  Alt 22. Nov 2004, 19:48
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.
  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 09:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz