Już chyba przetestowałem wszystkie możliwe ustawienia ADODataSet i ciągle mam problem.
ADODataSet CursorLocation = clUseClient, LockType = ltBatchOptimistic.
Robię jakieś operacje na tym datasecie i na koniec wykonuję UpdateBatch(arAll).
I to zadziała (insert do tabeli się wykona)
Ale na tej samej tabeli jest trigger (AFTER INSERT), który aktualizuje jedno pole we wstawionym insercie.
SELECT ISNULL(ID_DOK, 0) FROM INSERTED
I triggerze w tym momencie id_dok jest 0, czyli pewnie wstawia się NULL (a przed UpdateBatch w datasecie to pole jest wypełnione)
Dlaczego tak się dzieje ? Na innych datasetach, na których wykonuję normalnego posta, nie ma takiego problemu.