以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于系统内自动建立操作日志的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=111724)

--  作者:188802386
--  发布时间:2017/12/28 11:59:00
--  [求助]关于系统内自动建立操作日志的问题
If e.DataCol.Name <> "日志" AndAlso e.OldValue <> Nothing Then
Dim cmd As New SQLCommand
Dim dtt As DataTable
Dim drr As DataRow = dtt.AddNew()
cmd.CommandText = "select * Fr om {operation}"
dtt = cmd.ExecuteReader(True) \'记得将参数设置为True
 drr("用户") = _xingming
 drr("日期") = today()
 drr("类型") = "成交管理"
 drr("操作") = vbcrlf & e.DataCol.Name & "  " & e.OldValue & "  " & e.NewValue

dtt.save
End If

为什么这样会报错呢

--  作者:188802386
--  发布时间:2017/12/28 12:05:00
--  
另外 操作的表有个编号列,想 drr("编号") = 操作表的那个编号 该怎么办呢
--  作者:有点甜
--  发布时间:2017/12/28 12:22:00
--  

试试

 

If e.DataCol.Name <> "日志" AndAlso e.OldValue <> Nothing Then
    Dim cmd As New SQLCommand
    Dim dtt As DataTable

    cmd.ConnectionName = "数据源名"
    cmd.CommandText = "select * From {operation} where 1=2"
    dtt = cmd.ExecuteReader(True) \'记得将参数设置为True

    Dim drr As DataRow = dtt.AddNew()
    drr("用户") = _xingming
    drr("日期") = today()
    drr("类型") = "成交管理"
    drr("操作") = vbcrlf & e.DataCol.Name & "  " & e.OldValue & "  " & e.NewValue
    dtt.save
End If


--  作者:188802386
--  发布时间:2017/12/28 12:29:00
--  
.NET Framework 版本:2.0.50727.8669
Foxtable 版本:2017.12.18.1
错误所在事件:
详细错误信息:
Microsoft Jet 数据库引擎找不到输入表或查询 \'~TMPCLPoperation\'。 确定它是否存在,以及它的名称的拼写是否正确。


.NET Framework 版本:2.0.50727.8669
Foxtable 版本:2017.12.18.1
错误所在事件:表,deal,DataColChanged
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。

[此贴子已经被作者于2017/12/28 12:31:03编辑过]

--  作者:188802386
--  发布时间:2017/12/28 12:34:00
--  
可以了  请问如何找到改行的编号列的值  让 drr("编号") = 操作表的那个编号 
--  作者:有点甜
--  发布时间:2017/12/28 12:37:00
--  
drr("编号") = e.DataRow("_Identify")