Foxtable(狐表)用户栏目专家坐堂 → [求助]为什么界面和数据库里不一样


  共有5136人关注过本帖树形打印复制链接

主题:[求助]为什么界面和数据库里不一样

帅哥哟,离线,有人找我吗?
chnfo
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2203 积分:18135 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2014/12/17 14:41:00 [只看该作者]

如果要在保存项目肘,数据库和界面都是新值,该如何处理,我在保存项目事件中加了重置代码,且保存表,似乎无效

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/17 15:23:00 [只看该作者]

以下是引用chnfo在2014-12-17 14:41:00的发言:
如果要在保存项目肘,数据库和界面都是新值,该如何处理,我在保存项目事件中加了重置代码,且保存表,似乎无效

 

保存两次

 

For Each dt As DataTable In DataTables
    If dt.DataCols.Contains("ID") AndAlso dt.DataCols.Contains("SysID") Then
        dt.DataCols("SysID").RaiseDataColChanged()
        dt.Save()
    End If
Next

For Each dt As DataTable In DataTables
    dt.Save()
Next


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2203 积分:18135 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2014/12/17 17:13:00 [只看该作者]

甜兄,试过了,无效。不论放在afterprojectsave还是beforeprojectsave中都无效

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/17 17:17:00 [只看该作者]

 我测试没有问题?保存之后,就全部变成了foxtable显示的值了。

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2203 积分:18135 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2014/12/17 17:20:00 [只看该作者]

但access表并没变.wl表还是临时号。你保存后打开access看下.难道看你是版主害怕了? 要不把你的传上来我学习下子
[此贴子已经被作者于2014-12-17 17:22:35编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2014/12/17 17:31:00 [只看该作者]

不知道为什么都需要在保存前需要先获取编号那,而且还是临时编号最后还是要改正?保存的时候再获取不行?这样减少了很多代码和判断。。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/17 17:32:00 [只看该作者]

 如果是初始化之后,代码这样改看一下。

 

For Each dt As DataTable In DataTables
    If dt.DataCols.Contains("ID") AndAlso dt.DataCols.Contains("SysID") Then
        dt.DataCols("SysID").RaiseDataColChanged()
    End If
Next

For Each dt As DataTable In DataTables
    dt.Save()
Next


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  28楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2203 积分:18135 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2014/12/17 18:44:00 [只看该作者]

甜兄,问题依旧啊。
图片点击可在新窗口打开查看

是不是我这个思路有点问题?

我的目的是为了多个项目的数据能够合并,所以不能用_identify来做主键,需要用一个ID来做主键关联业务的表。
但有时候需要在界面上操作主表和关联表,如果没有一个临时编号,显然关联表的数据没法录进去,因为主表的ID不能是空的。

数据操作完了之后要保存,不可能保存临时编号,因为多人操作,可能会导致编号重复。比较好的方法是让ID在保存的时候=_identify,这样ID就不可能重复了。(就算合并了其它项目的数据,重新保存的时候,会更新各个表的ID值为新的_identify)

想请教甜兄和其他的狐神们,有没有其它的思路来解决这个问题,困扰颇有些日子了。


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:保存项目时更新所有的临时编号问题.zip



 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  29楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/17 19:07:00 [只看该作者]

 28楼例子测试没问题。


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  30楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2203 积分:18135 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2014/12/17 20:04:00 [只看该作者]

为什么我这里测试结果是这样的呢?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:操作过程数据.zip


 回到顶部
总数 35 上一页 1 2 3 4 下一页