Foxtable(狐表)用户栏目专家坐堂 → 自动保存被修改了的行


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

主题:自动保存被修改了的行

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


加好友 发短信
等级:幼狐 帖子:157 积分:2159 威望:0 精华:0 注册:2011/8/1 14:23:00
自动保存被修改了的行  发帖心情 Post By:2013/1/9 22:32:00 [只看该作者]

我做了一个表,放到mssql数据库中,现在有100多人同时操作,每增加一行就自动保存,我设置完了。可是每有一行数据被修改,换行后就自动保存,没有办法实现。100多人,几万行数据,都是远程操作,定时保存、批量保存都不现实,最佳方案就是每变动一行就保存,没变动就不保存,我的网速都不好,读几万行要20多秒钟还可以等,可向数据库写一万行数据,就要用40多分钟,多人操作,容易出现集体闲置时间和集体都想保存数据的问题,所以我想到了判断行是否被修改了,修改了就马上保存,这样就是随时小量保存,不影响整体了,可是没有找到行被修改了且没有被保存这个属性,行号变样色都是通过样式实现的,也没有代码,所以想请教,如何实现自动保存被修改了的行到远程服务器的代码。

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


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


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


加好友 发短信
等级:幼狐 帖子:157 积分:2159 威望:0 精华:0 注册:2011/8/1 14:23:00
  发帖心情 Post By:2013/1/9 22:39:00 [只看该作者]

这个事例我知道,那是换行就保存,不论是否被修改了,这么做会浪费许多服务时间的吧

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


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

不存在这个问题,如果这行没有编辑过,你执行Save,系统也不会执行任何操作。


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


加好友 发短信
等级:二尾狐 帖子:558 积分:4352 威望:0 精华:2 注册:2011/4/18 8:27:00
  发帖心情 Post By:2013/1/9 23:03:00 [只看该作者]

这样行不?

'选择不同的单元格后执行 AfterSelChange
If e.OldRange.RowSel <> e.NewRange.RowSel Then '如果选择的是不同的行
    If e.OldRange.RowSel >= 0 AndAlso e.OldRange.Rowsel < e.Table.Rows.Count Then '而且原来选择的是一个有效的数据行
        Dim r As Row = e.Table.Rows(e.OldRange.Rowsel) '获得原来选择的行
        If r.DataRow.RowState = DataRowState.Modified Then '换行时保存修改行
            r.Save() '保存之
        ElseIf r.DataRow.RowState = DataRowState.Added Then '换行时保存新增行
            r.Save() '保存之
        End If
    End If
End If


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/10 9:07:00 [只看该作者]

 对于table的save方法,在准备写入数据库之前,会和最近一次保存的原始值作比较,然后再决定是否更新到数据库的,所以不必担心。

 回到顶部