AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Access Datenbank mit ADODataSet
Thema durchsuchen
Ansicht
Themen-Optionen

Access Datenbank mit ADODataSet

Ein Thema von MechMac666 · begonnen am 1. Jun 2013 · letzter Beitrag vom 2. Jun 2013
Antwort Antwort
MechMac666

Registriert seit: 9. Nov 2008
95 Beiträge
 
#1

AW: Access Datenbank mit ADODataSet

  Alt 1. Jun 2013, 21:32
Da ich es unbedingt direkt testen wollte habe ich bereits ein Ergebnis.
Auf den ersten Blick scheint es zu funktionieren.
Habe bei dem kurzen Test zumindest keine Probleme damit entdecken können.


Dass das 'BILDER' kein SQL-Befehl ist, ist mir klar, ich habe es in einem Post weiter oben gelesen.
Zitat:
ADODataSet1.CommandText := 'Tablename'; // z. B. 'BILDER'
ADODataSet1.CommandType := cmdTable; // bzw. cmdTableDirect


Ich hätte es wie folgt, jedoch im Modus CMDTEXT ausgedrückt:
SELECT * FROM BILDER
Nur es ging doch darum, das ich das dataset auf eine spezielle Tabelle lenke.
Ob SELECT * FROM BILDER im Modus CMDTABLE funktioniert, habe ich nicht getestet.

Wie auch immer, jetzt muss ich erstmal grundlegend einiges umstricken und die AdoConnection sowie weitere Datasets einbauen.
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 3. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#2

AW: Access Datenbank mit ADODataSet

  Alt 2. Jun 2013, 00:51
Hallo,

Zitat:
Dass das 'BILDER' kein SQL-Befehl ist, ist mir klar, ich habe es in einem Post weiter oben gelesen.
Scheinbar aber die Links dazu übersehen. Ließ Dir doch mal die Dokumentation dazu durch.

Zitat:
Ob SELECT * FROM BILDER im Modus CMDTABLE funktioniert, habe ich nicht getestet.
Ist nicht nötig, funktioniert sicher nicht.
CommandType := cmdTable erwartet in der Eigenschaft CommandText einen Tabellennamen und nichts anderes.

Wenn Du alle Datensätze einer Tabelle (hier BILDER) anzeigen möchtest (TDataSource an die entsprechende Komponente gebunden):
Delphi-Quellcode:
ADODataSet1.Connection := ADOConnection1;
ADODataSet1.CommandText := 'BILDER';
ADODataSet1.CommandType := cmdTable;
ADODataSet1.Open;
oder
Delphi-Quellcode:
ADODataSet1.Connection := ADOConnection1;
ADODataSet1.CommandText := 'SELECT * FROM BILDER';
ADODataSet1.CommandType := cmdText;
ADODataSet1.Open;
oder
Delphi-Quellcode:
ADOTable1.Connection := ADOConnection1;
ADOTable1.Tablename := 'BILDER';
ADOTable1.Open;
oder
Delphi-Quellcode:
ADOQuery1.Connection := ADOConnection1;
ADOQuery1.SQL.Text := 'SELECT * FROM BILDER';
ADOQuery1.Open;
liefert Dir identische Ergebnisse. Such es Dir aus, welche Variante Dir gefällt.

Wenn Du einen Datensatz in eine Tabelle (hier Arten) einfügen möchtest, dann:
Delphi-Quellcode:
ADOCommand1.Connection := ADOConnection1;
ADOCommand1.CommandText := 'INSERT INTO Arten(Vorkommen, Familie, Unterfamilie, Gattung, Tagfalter, Nachtfalter) VALUES([...])';
ADOCommand1.Execute;
oder
Delphi-Quellcode:
ADODataSet1.Connection := ADOConnection1;
ADODataSet1.CommandText := 'Arten';
ADODataSet1.CommandType := cmdTable;
ADODataSet1.Insert; // oder ADODataSet1.Append;
ADODataSet1.FieldByName ('Vorkommen').AsString := '[...]';
[...]
ADODataSet1.FieldByName ('Nachtfalter').AsString := '[...]';
ADODataSet1.Post
oder
Delphi-Quellcode:
ADOQuery1.Connection := ADOConnection1;
ADOQuery1.SQL.Text := 'INSERT INTO Arten(Vorkommen, Familie, Unterfamilie, Gattung, Tagfalter, Nachtfalter) VALUES([...])';
ADOCommand1.ExeSQL;
oder
Delphi-Quellcode:
ADOTable1.Connection := ADOConnection1;
ADOTable1.Tablename := 'Arten';
ADOTable1.Open;
ADOTable1.Insert; // oder ADOTable1.Append;
ADOTable1.FieldByName ('Vorkommen').AsString := '[...]';
[...]
ADOTable1.FieldByName ('Nachtfalter').AsString := '[...]';
ADOTable1.Post
legt Dir einen neun Datensatz in der Tabelle an. Such es Dir aus, welche Variante Dir gefällt.

Zitat:
Wie auch immer, jetzt muss ich erstmal grundlegend einiges umstricken und die AdoConnection sowie weitere Datasets einbauen.
Da ist eigentlich nichts grundlegendens zu ändern! Nur die ADOConntcion entsprechend initialisieren und entsprechend an die Komponente binden. That' s all!

Wenn Du ein Join über mehrere Tabellen fahren möchtest, dann TADODataset oder TADOQuery.

Nur: Mir ist nur noch immer nicht klar wo denn Dein Problem nun eigentlich liegt.

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
MechMac666

Registriert seit: 9. Nov 2008
95 Beiträge
 
#3

AW: Access Datenbank mit ADODataSet

  Alt 2. Jun 2013, 14:45
Zitat:
Da ist eigentlich nichts grundlegendens zu ändern! Nur die ADOConntcion entsprechend initialisieren und entsprechend an die Komponente binden. That' s all!
Naja, da ich das mit den mehreren DBGrids bei nur einem Dataset vorher sehr umständlich gemacht habe, waren da schon noch diverse "Altlasten" die ich entfernen bzw. anpassen musste.


Zitat:
Nur: Mir ist nur noch immer nicht klar wo denn Dein Problem nun eigentlich liegt.
Seit meinem letzten Post, habe ich eigentlich kein Problem mehr,
da das mit der AdoConnection und den mehreren Datasets supi funktioniert.
  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 02: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