Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#1

Problem mit ADO und Providerflags

  Alt 18. Mai 2005, 10:57
Datenbank: MS-SQL • Version: 2000 • Zugriff über: ADO
Einfaches Szenario:
MS-SQL (vermutlich auch andere DB)
TADOTable (oder TADOQuery, egal)
Eine Tabelle (ein Identitiy-Feld ID, der Rest sind Info-Felder)
Alles mit der DB verknippern und Felder importieren.

Ich will, das ADO beim Updaten zum Server folgenden SQL-Befehl schickt:
UPDATE MyTable Set Foo='FooWHERE ID=12345 Bzw. über die sp_ExecuteSQL stored procedure...
Es geht eigentlich nur um die WHERE Klausel, nämlich, das nur das ID-Feld als Kriterium benutzt wird. In der Delphi-Hilfe steht dazu, das die ProviderFlags des ID-TFields auf [pfInWhere], und die aller anderen Felder auf [pfInUpdate] gesetzt werden sollen. Klingt logisch. Klappt aber nicht. Egal, was ich wo einstelle, ADO schickt immer den Befehl:
UPDATE MyTable Set Foo='FooWHERE ID=12345 and Foo='Bar' <--Alter Wert von Foo Irgendwie soll das angeblich über die ADO-Properties gehen. Gut ist, wenn man die MSDN-CDs hat, oder die ADO-Hilfe von MS. Hab ich aber nicht.

HIIIIIIIILLLLLLLLFFFFFFFFEEEEEEEEE!
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat