I was wondering back in 2016 how to get autoinc value after sql insert
viewtopic.php?f=28&t=33967&p=117649#p117649
Is the feature metioned by AlexP implemented? I haven't seen that in version history.
Currently If i so
q.sql.text := 'select id, name from table'; (id is autoinc field)
q.open;
q.append;
q.fieldbynaname('name').asstring := 'xx';
q.post;
I have q.keyfield := 'id';
I get access violation in TDaDatasetUpdater.GetIdentityfieldValue
(my version of unidac is 7.4.12)
Code: Select all
|7FFFFFFE|03 |00000000|0090F58F|uqedit.exe |0050F58F|DBAccess.pas |DBAccess |TDADataSetUpdater|GetIdentityFieldValue | |
|00000060|03 |0019F160|0090F484|uqedit.exe |0050F484|DBAccess.pas |DBAccess |TDADataSetUpdater|SetIdentityFieldValue | |
|00000060|03 |0019F194|009136C4|uqedit.exe |005136C4|DBAccess.pas |DBAccess |TDADataSetUpdater|PerformAppend | |
|00000020|04 |0019F1B0|00830776|uqedit.exe |00430776|Vcl.DbGrids.pas |Vcl.DBGrids |TCustomDBGrid |RecordChanged |3937[18] |
|00000060|03 |0019F1C4|0086A81E|uqedit.exe |0046A81E|MemDS.pas |MemDS |TDataSetUpdater |DoPerformAppend | |
|00000020|03 |0019F1E0|00865ABF|uqedit.exe |00465ABF|MemDS.pas |MemDS |TMemDataSet |DoPerformAppend | |
|00000020|03 |0019F1E4|00850039|uqedit.exe |00450039|MemData.pas |MemData |TData |InternalAppend | |
|00000020|03 |0019F1EC|00856232|uqedit.exe |00456232|MemData.pas |MemData |TMemData |InsertRecord | |
|00000020|03 |0019F1F8|0086517F|uqedit.exe |0046517F|MemDS.pas |MemDS |TMemDataSet |InternalPost | |
|00000020|03 |0019F210|009080FD|uqedit.exe |005080FD|DBAccess.pas |DBAccess |TCustomDADataSet |InternalPost | |
|00000030|04 |0019F330|00803195|uqedit.exe |00403195|Data.DB.pas |Data.DB |TDataSet |CheckOperation |14599[5] |
|00000020|04 |0019F338|008031A4|uqedit.exe |004031A4|Data.DB.pas |Data.DB |TDataSet |CheckOperation |14600[6] |
|00000030|04 |0019F358|00802C88|uqedit.exe |00402C88|Data.DB.pas |Data.DB |TDataSet |Post |14450[7] |
|00000020|03 |0019F374|00865242|uqedit.exe |00465242|MemDS.pas |MemDS |TMemDataSet |Post | |