以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教独占编辑  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=43316)

--  作者:seintfei
--  发布时间:2013/12/4 11:42:00
--  请教独占编辑
局域网中多人同时编辑,参考帮助文件,找到独占编辑,请问是不是每个表都要设定代码?“给表增加一个字符列,名为"编辑者",用于记录正在编辑某行数据的用户名”?
--  作者:Bin
--  发布时间:2013/12/4 11:43:00
--  
是的.
--  作者:zpx_2012
--  发布时间:2013/12/4 13:52:00
--  
这种独暂式的操作方式和数据库的行锁有什么不同? 数据库的行锁可以用在ft里面吗,要怎么用?
--  作者:seintfei
--  发布时间:2013/12/4 18:21:00
--  
出错了!!请问怎么解决?用的是外部数据源。。
图片点击可在新窗口打开查看此主题相关图片如下:3.jpg
图片点击可在新窗口打开查看

--  作者:有点酸
--  发布时间:2013/12/4 18:26:00
--  

http://www.foxtable.com/help/topics/2344.htm

 


--  作者:seintfei
--  发布时间:2013/12/4 18:53:00
--  
If e.Row("编辑者") = User.Name Then \'如果编辑者是当前用户
    Return
End If
Dim cmd As New SQLCommand
Dim exp As String  = "编辑者 Is Null And [_Identify] = " & e.Row("_Identify")
cmd.C
cmd.CommandText = "Update {客户} Set 编辑者 = \'" & User.Name & "\' Where " & exp
If cmd.ExecuteNonQuery = 1 Then
    e.Row("编辑者") = User.Name
Else
    cmd.CommandText = "Select 编辑者 From {客户} Where [_Identify] = " & e.Row("_Identify")
    Dim nm As String = cmd.ExecuteScalar
    If nm > "" Then
        MessageBox.show(nm & "正在编辑此行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Else
        MessageBox.show("此行可能已经被删除,无法编辑!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    End If
    e.Cancel = True \'取消编辑
End If

请指正。。。代码屏蔽了
[此贴子已经被作者于2013-12-4 18:55:08编辑过]

--  作者:有点甜
--  发布时间:2013/12/4 19:06:00
--  
 可能原因:

 你建在access数据库里的表名字不叫 客户

 你没有在access数据库里建表,而是在内部数据库里建表了。

--  作者:seintfei
--  发布时间:2013/12/4 19:12:00
--  
名字一样的
图片点击可在新窗口打开查看此主题相关图片如下:4.jpg
图片点击可在新窗口打开查看

--  作者:seintfei
--  发布时间:2013/12/4 19:39:00
--  
问题解决了 BeforeSaveDataRow 事件漏了设置数据源名称

谢谢大家的帮助

--  作者:有点甜
--  发布时间:2013/12/4 19:43:00
--  
 用7楼的代码,现在还是提示4楼的错误吗?不可能的,如果可以,上传一个例子看看。