AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADODataSet mit SQL-Abfrage - Fehler bei Append
Thema durchsuchen
Ansicht
Themen-Optionen

ADODataSet mit SQL-Abfrage - Fehler bei Append

Ein Thema von chris.s · begonnen am 2. Mär 2004 · letzter Beitrag vom 2. Mär 2004
 
chris.s

Registriert seit: 3. Aug 2003
8 Beiträge
 
Delphi 7 Architect
 
#7

Re: ADODataSet mit SQL-Abfrage - Fehler bei Append

  Alt 2. Mär 2004, 13:46
Zitat von Leuselator:
Welche Datenbank benutzt Du?
Ich benutze PostgreSQL 7.1.3 auf Red-Had-Linux 7.2. Wohlgemerkt kommt die Fehlermeldung vom ADO bzw. Delphi, nicht vom Server.

Zitat:
Du könntest die Daten des ADOQuery's in ein ClientDataSet laden. Das hat den Vorteil, daß du die Datenquelle mit DBEdits, DBPlanner etc. verknüpfen kannst. Wenn du die Daten dann postest, wird nur das ClientDataSet aktualisiert. Bei passender Gelegenheit (z.B. AfterPost) kannst Du die Änderungen dann in SQL-Scripte wandeln und ausführen. Eigentlich sollte auch die Methode ApplyUpdates des ClientDataSet funktionieren aber wahrscheinlich wird da der gleiche Fehler wie bei direktem Zugriff kommen.
Habe ich bisher noch nie gemacht, werde ich mal testen!

Zitat:
Ohne jetzt jemanden zu beschuldigen sage ich einfach mal: DAS KANN NICHT SEIN!!!
Ich kann in ein DataSet immer eine Select-Anweisung mit einer Where-Klausel einschränken und trotzdem Sätze einfügen, sogar egal, ob sie der Abfrage-Bedingung entsprechen oder nicht! Man benötigt noch nichtmal irgendwelche Keys oder so.
Um näheres sagen zu können, wäre die Datenbank mal interessant zu wissen. Außerdem die Struktur der abgefragten Tabelle, und die Select-Anweisung.
Den ersten Satz sehe ich eigentlich genauso. Ich benutze jedoch kein normales DataSet, sondern ein ADO-DataSet. Wie gesagt, die Datenbank ist PostgreSQL. Die Abfrage ist denkbar simpel:

commandtext := 'SELECT tplan.* FROM tPlan WHERE ((PatientenID=1 OR PatientenID = ' + vartostr(varAufnahmenummer)+ ')); Lesezugriffe sind problemlos und erwartungsgemäß schneller als der Direktzugriff auf die Basistabelle. Die Fehlermeldung erscheint dann bei jeder Aktion, egal ob append, edit auf Code-Ebene oder eine Änderung durch das Steuerelement. Strukturell arbeite ich mit einem ADODataSet, welches über ein ADOConnection-Objekt auf die PGSQL-Datenbank im ReadWrite-Mode verzweigt. Das einzige, was mir bei der Durchsicht auffällt, ist, daß ich noch keine Änderung am Isolation-Level des Connection-Objektes (aktuell CursorStability) ausprobiert habe. Ich arbeite jedoch nicht mit Transaktionen (lediglich PGSQL macht ja AutoCommit-Transaktionen, die dürften jedoch unschuldig sein).

Vielen Dank schon mal für die Mühe!
  Mit Zitat antworten Zitat
 


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:16 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