Foxtable(狐表)用户栏目专家坐堂 → [求助]OuterTableBuilder 加载的表是否变化判断


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

主题:[求助]OuterTableBuilder 加载的表是否变化判断

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
[求助]OuterTableBuilder 加载的表是否变化判断  发帖心情 Post By:2015/6/30 17:01:00 [只看该作者]

老师,
  下面的代码能执行,OuterTableBuilder加载进来的表,能否在判断一下,已经加载的进来的和数据源的是否发生了变化

Dim tab As WinForm.TabControl 
Dim dt As DataTable
Dim ft As String
Dim cmd As new SQLCommand
cmd.C
cmd.CommandText = "Select * F rom {loging}"
dt = cmd.ExecuteReader
Dim edr As new List (of DataRow)
edr=dt.sqlSelect("控件名称='"& tab.Name &"'and 页面名称='"& tab.SelectedPage.Name &"'")
For Each dr As DataRow In edr
    For Each evalue As String In dr("加载范围").Split(",")
        If dr("加载方式") = "打开窗表" Then
            If DataTables.Contains(evalue) = False Then’判断是否存在已经加载的表
                Dim q As new OuterTableBuilder
                q.TableName = evalue
                q.TableCaption = evalue
                q.C
                q.SelectString = "Select * F rom {" & evalue & "} "
                q.Build
                If dr("窗口表名称") IsNot Nothing Then
                    Tables(dr("窗口表名称")).Datasource = DataTables(evalue)
                End If
            Else
                DataTables(evalue).load‘这块怎么再判定一下已经加载的DataTables(evalue)没有变化,变化的再重新.load
                MessageBox.Show(1)
                
                If dr("窗口表名称") IsNot Nothing Then
                    Tables(dr("窗口表名称")).Datasource = DataTables(evalue)
                End If
                
            End If
        End If
    Next
Next

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/30 17:13:00 [只看该作者]

 无法判断后台数据库的数据是否变化的

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/30 17:15:00 [只看该作者]

 如果要判断变化,那么,单独做一个表记录变化的表,在beforeSaveDataRow事件,往里面写入最后变化的时间;

 

 load之前,去查那个表


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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/6/30 17:20:00 [只看该作者]

老师,
  fill SQLtable   这些可以做到吗

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/6/30 17:26:00 [只看该作者]

老师 ,
   现在这么写的代码,会有问题吗?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/30 18:15:00 [只看该作者]

 1楼写的代码没问题。

 

 当然,你也可以直接用 Fill 函数


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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/6/30 20:28:00 [只看该作者]

老师 ,
   已经改为FILL
   
在问下,FILL增加按钮怎么写呢;
多人同时在线的时候,帮助文档有少量并发冲突的一部分介绍;

既然已经 fill 了 ,增加是不是直接;
add  然后 save  在load

还是先用U pdate {A} s et [_lock] =false Wh ere 标记 Is Null And [_Identify] = " & r("_Identify")  参照工作流的 



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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/30 20:31:00 [只看该作者]

 增加,就直接add;保存,save;刷新数据,就重新fill或者load

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/6/30 20:38:00 [只看该作者]

老师,

 Fill(SelectString, ConnectionName,IsQuery)

SelectString:   字符型,用于设置SQL语句。
ConnectionName: 字符型,指定数据源名称,如果不指定,表示使用内部数据源。
IsQuery:        逻辑型,设为True,表示查询表,设为False,表示数据表。

数据表默认是可以编辑和保存的。

查询表默认不能编辑,通过将其AllowEdit属性设置为True,可以编辑查询结果,但不能保存编辑结果。 

这个保存 直接的做  tables(窗口_table1 ).save ?
  


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/30 20:40:00 [只看该作者]

IsQuery 设置成False 就能保存

 回到顶部