Hallo
Ich habe das Problem das ein schon lange funktionierendes Programm nicht mehr funktioniert
so bald eine DB-Tabelle ein Timenstamp Feld enthält.
Es handelt sich um Felder mit Namen: upsize_ts oder ts
sie werden anscheinend von verschiedenen Import Programmen (zt. von SQL-Server selbst) automatisch eingefügt.
Das Problem hängt wohl mit der Art der Timestamp Feldes zusammen.
Das Timestamp Feld ist ein AutoInsert Feld und darf daher nur von der Datenbank selbst mit Werten befüllt werden. Bei dem erstellen neuer Datensätze mit Delphi 6, ADO-Komponenten ergibt das Probleme.
Ich greife folgendermaßen auf eine Tabelle zu:
Var Values,Names:OleVariant;
Names[i] := … // Names+Values werden mit oder ohne Timestamp Feld gefüllt.
…
ADO.Open;
Ado.Recordset.AddNew(Names,Values);
Ado.Recordset.Update( EmptyParam, EmptyParam);// hier gibs neuedings ne Fehlermld.
ADO.Close;
…
Versuche ich das Timestamp Feld mit zu speichern erhalte ich die Fehlermeldung:
Ein aus mehreren schritten bestehender Vorgang schlug fehl!
Lasse ich das Timestamp Feld weg erhalte ich eine Fehlermeldung:
Ein Objekt, das dem Angeforderten Namen oder Ordinalverweis entspricht kann nicht gefunden werden.
Frage: wie kann ich mit ADO einen neuen Datensatz anlegen der ein Timestamp/Autowert Feld enthält.
Ich verwende: Delphi 6 , MS-SQL-Server, Unit: ADODB