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
Rainer Wolff

Registriert seit: 25. Okt 2005
Ort: Bretten
321 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Access Datenbank mit ADODataSet

  Alt 1. Jun 2013, 13:40
Ich habe nie mit dem ADODataset gearbeitet, sondern nur mit ADOTable/ADOQuery, daher kenne ich die Komponente auch nicht. Aber ich zietiere mal aus der Delphi-Hilfe:

Die Datenmenge wird mit Hilfe der Eigenschaft CommandText des TADODataSet-Objekts abgerufen. Weisen Sie dieser Eigenschaft den betreffenden Tabellennamen oder eine SQL-Anweisung (nur SELECT) zu. Mit der Datenmengenkomponente können nur DML-SQL-Anweisungen (Data Manipulation Language) ausgeführt werden, die eine Ergebnismenge zurückliefern. Für SQL-Anweisungen wie DELETE, INSERT und UPDATE sind Komponenten wie TADOCommand oder TADOQuery besser geeignet.

Demnach also für Insert nicht zu empfehlen

Gruß Rainer
  Mit Zitat antworten Zitat
Benutzerbild von blondervolker
blondervolker

Registriert seit: 14. Sep 2010
Ort: Bei: Leeeiipzzhhh
381 Beiträge
 
Delphi XE2 Architect
 
#2

AW: Access Datenbank mit ADODataSet

  Alt 1. Jun 2013, 13:48
ADOConnection
DataSource
ADOTable

Leg noch ein Datenmodul an und klatsche da alles drauf.
Dann lege eine oder mehrere Forms an und schreibe in Uses Datamodul oder
wie das Ding auch immer heissen soll.

Dann klatsche eine Tabelle auf eine Form und schau dann im Objektinspektor
was für eine Tabelle oder Table usw. zugewiesen werden soll.

Siehe Abb.1
Angehängte Grafiken
Dateityp: jpg Abb1.jpg (120,4 KB, 28x aufgerufen)
www.bewerbungsmaker.de
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.222 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Access Datenbank mit ADODataSet

  Alt 1. Jun 2013, 14:17
Wenn was in Access trotz keiner Fehler nicht sichtbar ist liegt das am bescheuerten Caching-Verhalten von Access.

Im Entwickler-Forum gabs mal Beispielcode wie man die Jet-Engine zwingen kann ohne jedesmal die Verbindung zu beenden den Cache zu leeren..
Leider finde ich den Beitrag nicht mehr. War von Andreas Kosch.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
MechMac666

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

AW: Access Datenbank mit ADODataSet

  Alt 1. Jun 2013, 14:57
Ähm? Nicht sichtbar?

Also wenn ich einen neuen Datensatz erzeuge ist der schon sichtbar, er ist nur nicht in der Tabelle wo ich ihn gerne hätte.
Ich verbinde das ADODataset mit einer Datenbank. Im Connectionstring steht nix von einer Tabelle o.ä. Da lege ich nur fest welche Datenbank.
Wenn ich nun ne Abfrage mache, ist es mittels SQL ja kein Problem diese Abfrage über mehrere Tabellen laufen zu lassen.

Und nun gehe ich her und erstelle einen neuen Datensatz.

ADODataSet1.Insert; <--Toll, "insert"..Und wo? Er weiß doch gar nicht in welcher Tabelle er das einfügen soll.

Im Notfall kann man ja auch mittels SQL nen Datensatz erzeugen. Das werde ich dann wohl auch machen müssen, wenn es mit den Delphi Hausmitteln vom Zufall abhängig ist, wo meine Daten landen.
Aber erstmal abwarten, vielleicht meldet sich ja noch jemand der das Problem schon mal hatte
  Mit Zitat antworten Zitat
Volker Z.

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

AW: Access Datenbank mit ADODataSet

  Alt 1. Jun 2013, 16:36
Hallo,

Zitat:
Im Notfall kann man ja auch mittels SQL nen Datensatz erzeugen. Das werde ich dann wohl auch machen müssen, wenn es mit den Delphi Hausmitteln vom Zufall abhängig ist, wo meine Daten landen.
Es hängt nicht vom Zufall ab. Ließ Dir mal die OH zu dem Thema durch.
TADODataSet verwenden
TADODataSet

Dann wirst Du über die Eigenschaften CommandText und CommandType stolpern. Mit:
Delphi-Quellcode:
ADODataSet1.CommandText := 'Tablename'; // z. B. 'BILDER'
ADODataSet1.CommandType := cmdTable; // bzw. cmdTableDirect
ADODataSet1.Insert;
ADODataSet1.FieldByName ('Fieldname').AsString := 'Fieldvalue';
[...]
ADODataSet1.Post
sollte einen Datensatz in die Tabelle schreiben. (Nicht getestet)

Aber wie hier und in der OH schon erwähnt ist für ein INSERT TADOCommand besser geeignet.

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.222 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Access Datenbank mit ADODataSet

  Alt 1. Jun 2013, 17:19
Poste doch mal ein abgespecktes Beispiel hier
Windows Vista - Eine neue Erfahrung in Fehlern.
  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 01:44 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