-- 作者:yyzlxc
-- 发布时间:2011/9/7 13:00:00
-- [求助]通用代码移植出错(已解决)
原先一段日志代码在SQL Server数据源环境下运行正常,但是在Access数据源环境下出错,想用数据源(Connection)的SourceType属性来实现代码通用,但是修改后出错,不知问题出在哪里?应该如何修改代码,请各位老师指教。
原代码:(在用户登录窗口的确定按钮)
\'登录日志 Dim cmb As New SQLCommand Dim dd As Date cmb.C \'外部数据源 cmb.CommandText = "Select GetDate()" \'服务器时间 dd = cmb.ExecuteScalar() cmb.CommandText = "Insert Into {日志} ([用户组],[用户名],[状态],[时间],[设备ID]) Values (\'" cmb.CommandText = cmb.CommandText & _UserGroup & "\',\'" & _UserName & "\',\'" & "登录" & "\',\'" & dd & "\',\'" & ComputerId & "\')" cmb.ExecuteNonQuery() DataTables("日志").Load()\'刷新表
将其中一条代码:cmb.CommandText = "Select GetDate()" \'服务器时间
替换为:
If Connections("SCGL").SourceType = 1 Then \'Access数据源 cmb.CommandText = "Date.Now()" \'系统时间 ElseIf Connections("SCGL").SourceType = 2 Then \'SQL Server数据源 cmb.CommandText = "Select GetDate()" \'服务器时间 End If
登录时出错:
此主题相关图片如下:捕获4.png
退出时出错:
此主题相关图片如下:捕获5.png
[此贴子已经被作者于2011-9-7 14:52:59编辑过]
|
-- 作者:yyzlxc
-- 发布时间:2011/9/7 14:20:00
--
\'登录日志 Dim cmb As New SQLCommand Dim dd As Date If Connections("SCGL").SourceType = 2 Then \'SQL Server数据源 cmb.C \'外部数据源 cmb.CommandText = "Select GetDate()" \'服务器时间 dd = cmb.ExecuteScalar() cmb.CommandText = "Insert Into {日志} ([用户组],[用户名],[状态],[时间],[设备ID]) Values (\'" cmb.CommandText = cmb.CommandText & _UserGroup & "\',\'" & _UserName & "\',\'" & "登录" & "\',\'" & dd & "\',\'" & ComputerId & "\')" cmb.ExecuteNonQuery() DataTables("日志").Load()\'刷新表 ElseIf Connections("SCGL").SourceType = 1 Then \'Access数据源 cmb.C \'外部数据源 dd = Date.Now cmb.CommandText = "Insert Into {日志} ([用户组],[用户名],[状态],[时间],[设备ID]) Values (\'" cmb.CommandText = cmb.CommandText & _UserGroup & "\',\'" & _UserName & "\',\'" & "登录" & "\',\'" & dd & "\',\'" & ComputerId & "\')" cmb.ExecuteNonQuery() DataTables("日志").Load()\'刷新表 End If
调整为上述代码后,在Access数据源环境下,登录时的出错解决,日志时间显示正常,但是退出时的出错依然存在,请各位老师指教,谢谢!!
|