Foxtable(狐表)用户栏目专家坐堂 → [求助]SQLQueryTable数据不同步


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

主题:[求助]SQLQueryTable数据不同步

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


加好友 发短信
等级:幼狐 帖子:92 积分:931 威望:0 精华:0 注册:2018/2/28 12:33:00
[求助]SQLQueryTable数据不同步  发帖心情 Post By:2018/9/19 6:32:00 [只看该作者]

该窗口是通过增加页签打开,Table是一个SQLQueryTable类型。

我尝试通过后台数据库更新一条记录(没有通过界面的更新功能),然后关闭页签,再打开页签,发现Table中的内容并没有更新。只有当项目重启之后数据才会同步。

求助:
1. 这种情况正常吗?
2. 如果有其他用户正好更新了数据,那我重新打开页签是不是就看不到了,只能重启项目?


图片点击可在新窗口打开查看此主题相关图片如下:query.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:92 积分:931 威望:0 精华:0 注册:2018/2/28 12:33:00
  发帖心情 Post By:2018/9/19 6:50:00 [只看该作者]

尝试使用Table中的“同步表”命令,可以同步表中的数据。
我在窗口的AfterLoad事件中添加了Load命令缺无效,不能自动同步数据。

这是怎么回事呢?希望每次重新打开窗口,数据都能更新。


图片点击可在新窗口打开查看此主题相关图片如下:sync.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:load.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2018/9/19 6:50:03编辑过]

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


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

首先,你去你数据库那里看一下,你是否真的修改了数据并保存到了数据库。

 

然后,测试同步代码 e.Form.controls("table1").Table.DataTable.load


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


加好友 发短信
等级:幼狐 帖子:92 积分:931 威望:0 精华:0 注册:2018/2/28 12:33:00
  发帖心情 Post By:2018/9/19 19:37:00 [只看该作者]

尝试在下面的增加页签代码中添加关闭窗口的代码(红色),目前能解决了。

似乎是因为点击页签的关闭,并没有真正把窗口关闭。只是隐藏了,实际还是Open的状态。



Dim name As String = Args(0)
Dim text As String = Args(1)

Dim tab As WinForm.TabControl = forms("Home").Controls("tabMain")
If tab.TabPages(name) Is Nothing Then
    tab.TabPages.Add(name,text)
    Dim pb = tab.BaseControl
    If Forms(name).Opened = True Then
        'MessageBox.Show("Opened")
        Forms(name).Close()
    End If
    Forms(name).OPEN(-1000,-1500)
    Forms(name).BaseForm.TopLevel = False
    Forms(name).BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
    Forms(name).BaseForm.Dock = System.Windows.Forms.DockStyle.Fill
    PB.TabPages(name).Controls.Clear
    PB.TabPages(name).Controls.add(Forms(name).BaseForm)
End If
tab.SelectedPage = tab.TabPages(name)

 回到顶部