关于VB报错问题!

关于VB报错问题!,第1张

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

我在编一个小程序时,需要连接一下数据库,我是用Access数据库,数据库名为time.mdb,其中有一张表,表名为:TT,具体步骤如陆握下。

我在模块中先把数据库连上,代码如下:

Option Explicit

Public con As adodb.Connection

Public rec As adodb.Recordset

Public Function conserver() As Boolean

'连接数据库

On Error GoTo on_error

Set con = New Connection

con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0Data Source=" &App.Path &"\time.mdbPersist Security Info=False"

con.ConnectionTimeout = 30

con.Open

conserver = True

Exit Function

'错误判断

on_error:

MsgBox "错误描述:" &Err.Description &vbCrLf &"错误代码:" &Err.Number, vbCritical + vbOKOnly, "找开数据罩蔽库错误"

conserver = False

End Function

'判断con是否打开,如果是则将它关闭

Public Function closecon() As Boolean

On Error Resume Next

If (Not con Is Nothing) Then

con.Close

Set con = Nothing

End If

End Function

'定义查询函数

Public Function recselect(ByVal strSQL As String) As Boolean

On Error GoTo on_error

Set rec = Nothing

Set rec = con.Execute(strSQL)

recselect = True

Exit Function

on_error:

MsgBox "错误描述:" &Err.Description &vbCrLf &"错误代码:" &Err.Number, vbCritical + vbOKOnly, "查询数据库错误"

recselect = False

End Function

然后再在窗体处调用,代码如下:

Private Sub Form_Load()

If conserver = False Then

MsgBox "连接数据库错误,请确认数据库是否存在,应用程序将退出...", vbCritical + vbOKOnly, "数据库错误"

Else

If recselect("select * from TT ") = False Then

MsgBox "运行时错误,不能取得客户信息...", vbInformation + vbOKOnly, "运行错误"

End If

End If

rec.Open "TT", con

If rec.EOF And rec.BOF Then

Exit Sub

End If

End Sub

这里为 *** 作数据库的时代码:

If recselect("select * from TT") = False Then

MsgBox "运行时错误,不能取得客户信息...", vbInformation + vbOKOnly, "运行错误"

Else

If rec.EOF And rec.BOF Then

strSQL = "物悉州insert into TT (月份) values(" &Format(Now, "m") &")"

If recselect(strSQL) = False Then

MsgBox "对不起,程序有误,请重新启动该程序!"

Exit Sub

End If

Else

rec.MoveLast

If rec.Fields("其它").Value = 1 Then

strSQL = "insert into TT (月份) values(" &Format(Now, "m") &")"

If recselect(strSQL) = False Then

MsgBox "对不起,程序有误,请重新启动该程序!"

Exit Sub

End If

End If

End If

End If

当我运行到rec.MoveLast时,程序就会报这个错:

实时错误'-***********(80040e24)'

行集不支持反向取。

我问过我的老师,他说我是用Recordset的时候用到了锁,但我的程序从头到尾都没用到Recordset,那为什么还会报这个错呢,请高人帮我一下,谢谢啦!

解析:

rec 变量就是Recordset

当以只读的形式打开表的时候 要按声明顺序引用数据

当以读写的形式打开表的时候 要改变的数据要预先锁定

锁定(设备、表、页面、记录集。。。)根据需要而定

修改后要解锁,这样作是为了保持数据同步

“automation服务器不能模凳弯创建对象”的问题的解决方案大全

本人工作中的应用系统都是jsp的,大量javascript程序,一旦出“automation服务器不能创建对象”问题,大量报表及查询无法保存,苦思冥

想、千尝万试,终于将其搞定,现将相关方案与大家共享。

1、如果是Scripting.FileSystemObject (FSO 文本文件读写)被关闭了,开启FSO功能即可,在“运行”中执行regsvr32 scrrun.dll即可

2、安全模式设置成“中”,如果javascript脚本中报这个错误,还应将IE的安全设置“不允许运行未标记为安全的activeX控件”启用即可。

注意如果您将相应的网站设成“受信任的站点”,必须对“受信任的站点”进行相应的IE安全设置,此时如果对“Internet”IE设置将是徒劳

的。

3、有些脚本需要微软的 MSXML 控件才能进入。当使用 IE 5 以上版本的缺省安全模式时,会提示是否接受 MSXML 控件,如果接受,MSXML 将

自动安装到您的机器上(得等上几分钟)。如果自动安装不成功,可以自行下载和安装 MSXML 3.0 SP7。有时是由于粗陵msxml 3服务被关掉了,使用

regsvr32 msxml3.dll即可

4、用上面方法基本上能决问题。如果是在安装某个软件后出现这种问题,可尝度卸载该软件或重装一下答案补充 可能是你机器上没有这个程序运行的一些环境,或者程序需要一些文件(比如dll之类的)的版本不对。 答案补充 不是那个意思。如果你只用了VB,里面没有引用第三方控件什么的,估计就是你的vb运行环境有问题了,重新旦闷安装一下VB的运行环境看看。如果引用了第三方控件,是不是这个控件没有被注册?你注册一下就应该没问题了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12535866.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-26
下一篇2025-08-26

发表评论

登录后才能评论

评论列表(0条)

    保存