vb 对象打开时不允许操作

窗体上有一个command控件,点击就会在datagrid控件里显示数据库的查询内容,如再次点击会报错“3705对象打开时不允许操作”,strSQL="select语句"... 窗体上有一个command控件,点击就会在datagrid控件里显示数据库的查询内容,如再次点击会报错 “3705 对象打开时不允许操作 ”,

strSQL = "select 语句"
DataRec.CursorLocation = adUseClient
DataRec.Open strSQL, DataConn, 3, 3
Set DataGrid1.DataSource = DataRec

当在程序后面加上DataRec.close时点击command控件没反应(datagrid里不显示任何值)。

这种情况该怎么处理???
展开
 我来答
巴哥泡泡
推荐于2016-03-15 · TA获得超过1040个赞
知道大有可为答主
回答量:1040
采纳率:0%
帮助的人:1141万
展开全部
看楼主说的应该是选择数据库文件后打开,那么你的关闭DataRec.close实际上没有关闭数据库连接!实际上要关闭的是DataConn,也就是在打开文件前要加上DATAconn.close和Set DATAconn=nothing。
后面关于DataRec.close后点击COMMAND控件没反应的情况,没看到完整代码,所以不清楚原因了!
邰长青吴钗
2019-10-02 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:27%
帮助的人:791万
展开全部
你还没有完全关闭数据库,只是关闭了记录集,
你要这样修改:
在rs.close
后面还要加上
conn.close
同样在form

unload
事件中也要写入此代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乙怜雪续武
2020-02-06 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:33%
帮助的人:547万
展开全部
private
sub
command3_click()
pubconn.close
pubconn.open
strconn
你在这里把pubconn关闭了,而前面
rstable.open
strsql,
pubconn,
adopendynamic,
adlockoptimistic
使用
close
方法关闭
connection
对象还将关闭与连接相关联的任何活动
recordset
对象。
所以rstable也被关闭了,所以是对象关闭时,不允许操作。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dxhy123
2009-12-24 · TA获得超过159个赞
知道小有建树答主
回答量:314
采纳率:0%
帮助的人:130万
展开全部
处理完毕之后,要及时关闭引用的对象
DataRec.Close
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式