Autor Beitrag
geraldbraun
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mo 11.02.08 17:19 
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
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Di 12.02.08 19:56 
:welcome:

einen Versuch ist es wohl wert:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
ADO.Open;
ADO.Insert; //hier kann er in Ruhe seine TimeStamps setzen;
ADO.FieldByName('bla').AsString:='blub'; {Füllen}
ADO.Post;   
ADO.Close;

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
geraldbraun Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mo 18.02.08 14:01 
Titel: Tip hat geholfen
Hallo

Mit Insert---Past klapts jetzt.

vielen Dank

Gerald