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


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

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

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


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

那个数据源预览里的id列不对劲哬,看到我发帖的截图么

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


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

那是你原先的问题啊,因为你没有触发改变的代码啊

 

只要触发了改变值的代码,就不会出现你的情况啊。


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


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

1.先编辑PL表,此旳表PL的ID列都是临时编号 2.然后切换到WPC表,触发maintablechging事件,它会保存PL表,然后重置PL表的sysid列,但此时去菜单数据表-外部数据源-预览,看到的结果是pl表的id仍然是临时编号 3.再编辑wpc表,增加行时wpc表的id还是临旳编号 4.直接在wpc主表界面上编辑它的关联表wpc.wl,增加一行,此旳关联表的id是临时列,点plid单元格,弹出窗口,窗口中的表是pl表的副本,显示id是与sysid相同,然后勾选仼意几行,点添加,在弹出窗口关闭前,会保存wl表,而且会重置wl表的sysid列,此旳,wl表的id列会被赋新值。此时,在wpc.wl表中看到plid、它自己的id都被赋新值了。 5.此时,再去预览外部数据表,pl的id列还是临时值,wl表的id是临时值、plid是新值,wpcid是临时值,wpc表根本没有值。 6、再切回pl表,涉及到三个表的id都是新值。再去预览wl表,它的id是临时值,wpc表的id列还是临时值。 7、在三个主表间来回多切换几次,不知什么时候,预览表旳,wpc表的id变了,但wl表的id还是临时号。 手打不易,甜兄辛苦指导下吧

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


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

 只要触发了Datacolchanged事件,就能改变值。显示值和数据库的值不同,是因为你没有save表里修改后的数据。

 

 


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


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

要改哪里才能一致?要退出系统肘全为新值而非临时值才行.总不能手工每个表重置保存啊
[此贴子已经被作者于2014-12-16 17:13:19编辑过]

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


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

 BeforeCloseProject事件,代码

 

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


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


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

如果按了Ctrk+S,也就是保存项目之后,要所有的ID值都是新值,是否就要在AfterSaveProject事件中加入这段代码呢?

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

我试验了几把,好象还是有些是临时编号。郁闷死


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


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

 肯定不会吧。我测试没问题。

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


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

我这里把所有的东西都初始化了,麻烦甜兄看看。
我在项目保存事件中也加入了前面的代码。在保存之前事件中试过,在保存之后事件中也试过,都还是有问题。

甜兄可以试下。
在PL表中填写数据(我加了三行),然后切换到WPC表中填写数据(我加了三行),然后就在WPC主表中编辑其关联表WPC.WL(每个WPC行增加不同的WL数据行),在按保存按钮之前,ID列都是临时编号,这都不是问题。

按了保存按钮,在界面上全部变成了正式的编号————这也应当是正确的。
但此时,去点数据表-外部数据源-预览,发现数据库表里的ID有些还是临时列。

然后退出,再进,原来WPC-WL的关联列数据显示就不正常了。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:初始化之后操作还是不行.rar


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


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

 正常,你设置了同步更新关联表内容。

 

 那么主表的值改变的时候,子表的值自然也改变了,但是子表改变的值还没有保存。


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