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='Foo' WHERE 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='Foo' WHERE 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!