以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于自动复制行的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88264) |
-- 作者:蟪蛄 -- 发布时间:2016/7/30 10:27:00 -- 关于自动复制行的问题 请问一下,假如外部数据库中有一个表T211和表T212,表T211中每增加一行数据或每修改一行数据都会在表T212中保存(也就是表T212是表T211的历史纪录库) 但是现在问题是我的表示在外部数据源中的,而且表T211中的数据是不断自动更新的(不打开foxtable时也在不断更新),我想一打开foxtable就把foxtable没有运行那段时间产生的数据(此时数据在表T211中)复制到表T212中去, 那么我的代码该如何修改? Dim dr As DataRow = DataTables("T212").AddNew For Each dc As DataCol In DataTables("T212").DataCols dr("T212CT") = e.DataRow("T211CT") dr("T212UT") = e.DataRow("T211UT") dr("T212DL") = e.DataRow("T211DL") dr("T212UserId") = e.DataRow("T211UserId") dr("T212DeptId") = e.DataRow("T211DeptId") dr("T212PointId") = e.DataRow("T211PointId") dr("F2423") = e.DataRow("F2415") dr("F2424") = e.DataRow("F2416") dr("F2425") = e.DataRow("F2417") dr("F2426") = e.DataRow("F2418") dr("F2427") = e.DataRow("F2419") dr("F2428") = e.DataRow("F2420") dr("T212Id") = e.DataRow("T211Id") Next |
-- 作者:狐狸爸爸 -- 发布时间:2016/7/30 10:47:00 -- 不打开foxtable就无法监测到变化,没有简单的办法实现。 可以用标记列: 1、每次修改数据,或增加数据,将标记列的内容位置为1,这个你要从后台数据库入手。 2、每次启动foxtable,更新标记列为1的数据到目标表,然后将标记列内容设置为0. |
-- 作者:蟪蛄 -- 发布时间:2016/7/30 11:28:00 -- 好的,谢谢。 |