用TQuery+TUPdateSQL對一個表inv_dtl,在緩存模式下(CachedUpdates=true)修改,在觸發器內後台更改另一個表stock_dtl,保持兩者數據同步一致功能。表inv_dtl(trx_code, trx_no,item_code, qty),其中主鍵是(trx_code,trx_no),表stock_dtl 與inv_dtl 表結構一樣。假如inv_dtl 現有trx_code不變,trx_no數所記錄分別是: {1,2,3,4,5,6,7}
我做的操作: 先刪掉3,4,6,再增加三個空的記錄變成{1,2,5,7,'','',''},最後再遍歷數據集,編輯,對trx_no進行重新編號為{1,2,3,4,5,6,7} ,然後保存,ApplyUpdates.
可是在後台數據庫裡,查stock_dtl, 發現數據變為{1,2,3,4,6},其中inv_dtl裡的(5,7)都不在此表中。前面所有的操作對後面結果有何影響?
我做的操作: 先刪掉3,4,6,再增加三個空的記錄變成{1,2,5,7,'','',''},最後再遍歷數據集,編輯,對trx_no進行重新編號為{1,2,3,4,5,6,7} ,然後保存,ApplyUpdates.
可是在後台數據庫裡,查stock_dtl, 發現數據變為{1,2,3,4,6},其中inv_dtl裡的(5,7)都不在此表中。前面所有的操作對後面結果有何影響?
解决方案 »
- 无法移除delphi工程中的单元文件
- 如何在一个3维的坐标上画点?
- 本身装有delphi7,要再安装delphi5开一个以前的程序,却装不上了,怎么办。
- 关于IdFTP的一个中文文件名的问题?
- 字符如何转换成ASCII码?
- 第11题): 毕业设计救命?需要大家技术帮助!先谢啦!
- dsgnintf是什么东西,为什么有的机上可以通过编译,有些机上就说找不到"dsgnintf.duc"?
- 怎样建立一个有纵列、横行的表?(用微软的Access)且在DBGird里显示出来.
- 楼下的兄弟我经常干14----15个小时,偶尔还上通宵。
- 送分的问题:用数组表示的字符串与纯字符串的不同
- SQL语句中插入方法的values内容怎些呢?
- 100分求PDU解码(delphi源代码)急急急!!!
Qry_so.First ;
i:=1;
while not Qry_so.Eof do
begin
Qry_So.Edit;
Qry_so.fieldbyname('trx_no').asinteger := i;
.....
Qry_So.next;
inc(i)
end;
Qry_so.ApplyUpdates;
Qry_so.CommitUpdates;
這一段引起了重復的行號
//------------------------------
原來要求實現兩個表數據同步功能,直接對編輯保存提交,應該沒有問題。但是要求實現對行號進行重新排序更改編號,有什麼好的方式做到?我想在提交後,執行一個存儲過程,用游標來實現更改行號,不知還有沒有好的方法?