在startedit设置如下代码:
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.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
执行时出现错误提示:Microsoft Jet 数据库引擎找不到输入表或查询 '~TMPCLP客户表'。 确定它是否存在,以及它的名称的拼写是否正确。
详细信息如下:
.NET Framework 版本:2.0.50727.5466
Foxtable 版本:2012.11.28.1
错误所在事件:
详细错误信息:
System.Data.OleDb.OleDbException: Microsoft Jet 数据库引擎找不到输入表或查询 '~TMPCLP客户表'。 确定它是否存在,以及它的名称的拼写是否正确。
在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
在 System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
在 System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
在 System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
在 Foxtable.SQLCommand.ExecuteNonQuery()
备注:我这个客户表是外部数据源的,这是怎么回事,请专家指教!!1