Zitat von
Bodenseematze:
Bezieht das jegliche VARCHAR-Spalten mit ein? Oder nur die "langen"?
Bezieht sich wohl auf alles, was nicht einer festen Länge entspricht. Und da fällt halt VarChar (leider) auch drunter.
Die
ODBC-Konfiguration geht wohl über einen anderen Weg als die direkte Treiberkonfiguration in der
BDE, so dass da schon mal "leichte" Missverständnisse auftreten können.
Zitat von
Bodenseematze:
Entweder verstehe ich die Komponenten nicht, oder ich bin zu blöd dafür - aber soweit ich verstanden habe, fehlen den
ADO-Komponenten die Möglichkeit,
SQL-INSERT/-UPDATE/-DELETE-Statements anzugeben - das bedeutet doch aber, dass man die Speicherung (wenn der SELECT auf einem nicht updatebare
DB-View stattfindet) manuell machen muss, oder?
Diese Frage verstehe ich nicht so recht. Bei den mir bekannten
BDE-Komponenten TTable und TQuery gibt es keine Möglichkeit um jeweils
SQL-INSERT/-UPDATE/-DELETE-Statements anzugeben.
TQuery hat die Eigenschaft
SQL, das ist 'ne Stringliste, in der man beliebiges
SQL angeben kann. Ein Select wird mit TQuery.Open ausgeführt und man erhält die Ergebnismenge. Alles Andere wird mit TQuery.ExecSQL ausgeführt.
Da gibt es bei den Standardkomponenten von Delphi 7 keinen Unterschied zwischen
BDE und
ADO. Hast Du da für die
BDE-Komponenten eventuell "irgendwelche" Nachfahren im Einsatz, die da schon entsprechend erweitert wurden?
Zitat von
Bodenseematze:
..., das bedeutet doch aber, dass man die Speicherung (wenn der SELECT auf einem nicht updatebare
DB-View stattfindet) manuell machen muss, oder?
ja.
Zitat:
Wäre es eigentlich möglich, meine aktuell vorhandenen TQuery-Komponenten (einfach) auf TClientDataSet-(bzw. JvMemData-)Komponenten umzustellen und dann per Programmcode mit entsprechenden "echten" Datenbank-DataSets (testweise entweder TQuery oder auch angepasste TADOQuery bzw. JvADOQuery) zu verknüpfen?
Dann hätte ich wenigstens schon eine Abstraktionsebene mehr drin
Mir ist nur noch nicht so klar, wie ich das "richtig" machen soll...
Eigentlich ja. Wie kommen denn momentan die Daten in die Paradoxtabellen? Werden die Daten überhaupt zwingend als Datenbankdateien auf der Festplatte benötigt?
Wenn nein, sollte es möglich sein an der Stelle, an der momentan die Daten in die Paradoxtabellen kommen, TClientDataSet bzw. TJvMemoryData (oder alles, was "irgendwie" von TDataSet abgeleitet wurde und nur im Speicher vorhanden ist) einzusetzen.
Statt
Paradox per
BDE wäre aber auch noch der Einsatz von
TDBF möglich. Das unterstützt (nicht vollumfänglich) dBase-Dateien ohne
BDE. Man hat damit die Daten auch als Datenbankdateien auf der Festplatte zur Verfügung. Für kleinere Datenmengen eventuell eine Option, da auch andere Software, die dBase unterstützt, damit arbeiten könnte. Was ich nicht weiß ist, ob TDBF inzwischen auch Memos und Indexdateien von dBase unterstützt.