| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2297 人关注过本帖
标题:vb错误提示 对象关闭时不允许操作
只看楼主 加入收藏
镜子君
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-1-27
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
vb错误提示 对象关闭时不允许操作
我想用insert into 把text框里的数据传递到数据库里,
private sub command1_click()
adodc1.recordsource=“insert into 表 values('“& text1.text &”','”& text2.text &“')”
adodc1.refresh
end sub
之前把sql和vb绑定了,现在问题就是,我这样运行他会提示对象关闭时不允许操作,我点确定以后又出现实时错误:应用程序定义或对象定义错误。让我选择调试或结束。但是text1和2里的数据却还是添加进了数据库 ,我就想问问,为什么会出现这种情况。
2016-01-28 00:24
镜子君
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-1-27
收藏
得分:0 
今天百度了好久,没头绪啊,教材上关于这方面内容少的可怜
2016-01-28 00:25
镜子君
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-1-27
收藏
得分:0 
此贴终结,最后还是用了addnew
2016-01-28 21:52
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:10 
adodc1.recordsource=“insert into 表 values('“& text1.text &”','”& text2.text &“')”
adodc1.refresh

adodc1.recordsource 要求返回一个可以向前的 表对象,而你提交的是 插入操作的SQL命令,执行后的结果是没有 表对象 返回的。
在 adodc1 是得到的是一个 NULL 的 表对象 。
所以你 adodc1.refresh 这句刷新时,因为是 NULL表对象 ,所以系统认为对象是不存在的,关闭的。
因为 那条插入数据的 SQL 已执行完成,只是没有结果可供返回,所以 数据是被插入了。

改用 addnew ,这条命令不会要求 返回一个 表对象,所以不会出现 错误。
------------------
一般都不使用 Adodc 控件了,对这个不熟悉了,应该有执行 SQL 的插口,如果是插入、删除 操作,可以直接使用执行SQL的插口进行操作。

授人于鱼,不如授人于渔
早已停用QQ了
2016-01-29 10:17
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:941
专家分:5244
注 册:2015-8-10
收藏
得分:10 
同意版主的说法。也不推荐使用adodc1
以前也遇到过类似的错误,但是比这个复杂。adodc1可以同时被多组控件绑定,比如datagrid和textbox。但是操作的时候容易报错。
2016-01-29 15:18
快速回复:vb错误提示 对象关闭时不允许操作
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039408 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved