以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]增加表后 同步表 出现相同的两行  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=120557)

--  作者:blsu33
--  发布时间:2018/6/19 14:26:00
--  [求助]增加表后 同步表 出现相同的两行
老师,
   新增行,保存同步表,会发现出现两行相同的行数据,不知道是哪里问题?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:lp_20180619142305.rar


[此贴子已经被作者于2018/6/19 14:27:10编辑过]

--  作者:blsu33
--  发布时间:2018/6/19 14:28:00
--  

[此贴子已经被作者于2018/6/19 16:37:57编辑过]

--  作者:有点甜
--  发布时间:2018/6/19 16:18:00
--  

1、你在表格里面新增了一行;

 

2、你在内部函数那里有insert增加了一行;

 

3、你可以不insert;或者是,你可以撤销表格里面的修改。


--  作者:blsu33
--  发布时间:2018/6/19 16:42:00
--  
老师,
  我在改改 上传 您在给看看

不知道 我这种使用客户端和服务器端通讯的操作是否 方向是否正确

--  作者:blsu33
--  发布时间:2018/6/19 18:23:00
--  
老师 ,
    看了下。这种加卸载表,然后 用datasours指定数据源的表 貌似用不上 insert Delete UPDATE
 对数据源上的表进行操作,下面的完全可以做到

、在QQClient的ReceivedMessage事件中修改代码:

Dim msg As String = e.Message
If
msg.StartsWith("U#") Then \'表示修改了某行
    Dim pts() As String = msg.Split("#")
    If pts.Length = 3 Then
        Dim dr As DataRow = DataTables(pts(1)).Find("[_Identify] = " & pts(2))
        If dr IsNot Nothing  Then
            dr.Load() \'重新加载此行
        End If
    End
If

ElseIf
msg.StartsWith("A#") Then \'表示增加了行
    Dim pts() As String = msg.Split("#")
    If pts.Length = 3 Then
         DataTables(pts(1)).AppendLoad("[_Identify] = " &  pts(2)) \'追载新增加的行.
    End
If

ElseIf
msg.StartsWith("D#") Then \'表示删除了行
    Dim pts() As String = msg.Split("#")
    If pts.Length = 3 Then
         DataTables(pts(1)).RemoveFor("[_Identify] = "  & pts(2)) \'移除行
    End
If

End
If


--  作者:blsu33
--  发布时间:2018/6/19 18:26:00
--  
不知是否这样呢?如果是 是否涉及事务相关  写在哪里呢?


Connection有三个和事务相关的方法,分别是:

  • BeginTransaction
    开始数据库事务
     
  • Commit
    提交数据库事务
     
  • Rollback
    回滚数据库事务

--  作者:有点甜
--  发布时间:2018/6/19 18:27:00
--  

你为什么一定要用insert、update等?用自带的保存不好?

 

如果不要自带的保存,那么你最后不要save表格,撤销所有表格的修改。