Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共6 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]通用代码移植出错(已解决)

1楼
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编辑过]
2楼
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数据源环境下,登录时的出错解决,日志时间显示正常,但是退出时的出错依然存在,请各位老师指教,谢谢!!

3楼
狐狸爸爸 发表于:2011/9/7 14:27:00

Access和内部表的SQL语法,没有DAte.Now的用法,这只能用在代码中。

Access没有获得系统时间的SQL语法。

 

至于改进后的语法出错,你可以检查一下合成的SQL语句,看看有没有问题。

 

[此贴子已经被作者于2011-9-7 14:38:07编辑过]
4楼
yyzlxc 发表于:2011/9/7 14:35:00
谢谢狐爸老师的指教。刚才用修改后的代码,替换了退出的代码,问题已得到解决,没有出错提示。对修改后的代码,能不能进一步优化,还请狐爸老师指教,谢谢!!
5楼
狐狸爸爸 发表于:2011/9/7 14:39:00
呵呵,你已经很强了,这种代码没有什么修改余地的。
6楼
yyzlxc 发表于:2011/9/7 14:47:00
狐爸老师过讲了,我还是初学,还有很多地方要请教老师,给您添麻烦,再次衷心感谢狐爸老师的耐心指教,谢谢!!
共6 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .05078 s, 2 queries.