以文本方式查看主题

-  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=98936)

--  作者:114039247
--  发布时间:2017/4/10 1:03:00
--  数据库被置锁定 不可打开状态
For Each r As Row In Tables("A表").Rows
Dim p As String = IIF(r.DataRow.RowState = DataRowState.Added, "A#", "U#")
r.Save()
Dim msg As String = p & "A表" & "#" & r("编号")
For Each bd As QQBuddy In QQClient.Buddies
    If bd.Online Then
        QQClient.Send(bd.name, msg)
    End If
Next
Next

这个代码,新添加几条 保存 没有问题 但是新添加了10多条之后 就会出现 :数据库被置锁定 不可打开状态 

--  作者:有点色
--  发布时间:2017/4/10 8:36:00
--  

 

 你测试的时候,使用了多少个好友测试?把你做的项目发上来测试下。服务器端和客户端都发过来。

 


--  作者:114039247
--  发布时间:2017/4/10 13:02:00
--  
单机和局域网都测试过  只有2个帐号 其他代码都是复制openqq的帮助  这段保存的 只改了:
For Each r As Row In Tables("A表").Rows

--  作者:有点色
--  发布时间:2017/4/10 14:57:00
--  

加入你改成这样,是否还有问题?

 

For Each r As Row In Tables("A表").Rows
Dim p As String = IIF(r.DataRow.RowState = DataRowState.Added, "A#", "U#")
r.Save()
Dim msg As String = p & "A表" & "#" & r("编号")
For Each bd As QQBuddy In QQClient.Buddies
    If bd.Online Then
        QQClient.Send(bd.name, msg)
    End If
Next
system.threading.thread.sleep(1000)
Next
 
如果是整体修改,建议你改一下思路,先得到全部编号,把编号都合并起来再发送过去,这样可以减少发送信息的次数。