好久沒有去動Delphi了,忽然興起作個小程序,一個表的ID,在服務器端的應用服務器上生成,如何刷新到客戶端?小程序
查看了TDataSetProvider的Options屬性,比之前增長了一個poPropogateChanges,解釋以下:服務器
Changes made by the server to updated records as part of the update process are sent back to the client and merged into the client dataset.ide
代碼在服務器端TDataSetProvider的BeforeUpdateRecord事件中,生成ID,以下:spa
if UpdateKind = ukInsert then
DeltaDS.FieldByName('DRUG_INFO_ID').AsInteger:= GetPrimaryKey('T_DRUG_INFO','DRUG_INFO_ID');
server
客戶端ApplyUpdates(0) 後,發現ID仍然沒有更新,百思不得其解,後來將AsIneger改爲NewValue,一切就行了,真是無語....事件
if UpdateKind = ukInsert then
DeltaDS.FieldByName('DRUG_INFO_ID').NewValue := GetPrimaryKey('T_DRUG_INFO','DRUG_INFO_ID');io