29. November 2011 14:21
Mein Problem:
Ich schreibe mit OBDC (Automation 'Microsoft ActiveX Data Objects 2.8 Library'.Connection) Datensätze vom Native zum SQL-Server, über Recordset.AddNew bzw. Update. Das funktioniert auch soweit, aber um da Primärschlüsselverletzungen zu verhindern möchte ich gerne prüfen, ob der Datensatz schon existiert. Dass man diese Eigenschaft beim SQL-Server abschalten kann, ist bekannt
, aber die nächste Software, die auf die Tabelle zugreift, erwartet eindeutige Werte in diesem Feld.
Leider blockt die dafür notwendige Leseaktion via SELECT schon vorher beim Open ab
Konvertierung2.jpg
Die Connection baue ich auf wie
hier beschrieben.
- Code:
ADOConnect.Mode := 1; // Read Mode
ADOConnect.ConnectionString :=
GetConnectionString('Server\Instanz','','user',
'Passwort');
ADOConnect.Open(ADOConnect.ConnectionString);
Der Varchar-Wert ist zwar beim SQL-Server in der Tabelle vorhanden, aber eine Konvertierung in einen Integerwert habe ich nicht im Code. Wieso wird beim Open schon ein Satz gelesen?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.