为什么总说“对象关闭时,操作不被允许?”

Bright116 2003-09-05 12:20:31
谢谢大家上次热情的答复,收益匪浅,以后我会常向大家请教,还请多多关照。这次向大家问这样的一个问题,关于我上次的问题,添加部分基本解决,但在执行后,总会出现这样的报错信息“对象关闭时,操作不被允许”,但信息已经加入,这是怎么一回事情呢?希望大家帮我一下,我以前的相关代码段如下:
Dim sql As String
Dim Sql_str As String

sql = "insert into 出库表 (数量,单价,出库日期,经手人,订购客户,订单编号,产品批次编号,产品名称,货架编号,规格,重量,生产日期,保质期) select'"
sql = sql & Val(txtExtSellQuantities.Text) & "','" '出货数量
sql = sql & Val(txtExtSellPrice.Text) & "','" '出货价格
sql = sql & Trim(txtExtSellDate.Text) & "','" '出货日期
sql = sql & Trim(txtExtSellOperator.Text) & "','" '经手人
sql = sql & Trim(txtExtSellOrderMarks.Text) & "','" '订购客户
sql = sql & Trim(txtExtSellCustomers.Text) & "'," '订单编号
sql = sql & "产品批次编号,产品名称,货架编号,产品规格,产品重量,生产日期,保质期 from 库存表 where 产品批次编号 ='" + txtExtSellMarks.Text + "'"
Adodc4.RecordSource = sql
Adodc4.Refresh
...全文
128 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
flc 2003-09-12
  • 打赏
  • 举报
回复
学习
viena 2003-09-10
  • 打赏
  • 举报
回复
呵呵,还是.net好,DataSet不用打开的
didishu0807 2003-09-10
  • 打赏
  • 举报
回复
在你执行rs.open...前,加上下面语句
if rs.State=adStateOpen then
rs.close
end if
Bright116 2003-09-10
  • 打赏
  • 举报
回复
期待一些详细的回答......
maskzha 2003-09-09
  • 打赏
  • 举报
回复
if rs.State=adStateClosed then
rs.Open
......'Do Some Thing
end if
linfuyong 2003-09-09
  • 打赏
  • 举报
回复
set 一下就行了
melonboy 2003-09-09
  • 打赏
  • 举报
回复
dim rs as New ADODB.Recordset
rs.CursorLocation=adUseClient'很重要
rs.open……
freetide 2003-09-09
  • 打赏
  • 举报
回复
楼主,和我一样的错啊,
刚想问,搜了一下,找到这个贴子了,比较一下,真的是这个问题。
liul17 2003-09-05
  • 打赏
  • 举报
回复
这样的话你报错的应该是: Adodc4.RecordSource = sql
那肯定是没关, 一定要养成用完即关的习惯!
lxcc 2003-09-05
  • 打赏
  • 举报
回复
if rs.State=adStateClosed then rs.Open ...

如果说对象打开!
if rs.State=adStateOpen then rs.close
liul17 2003-09-05
  • 打赏
  • 举报
回复
如:
1. 报错
dim rd as New ADODB.Recordset
rd.open .....
rd.close
msgbox rd.fields(1)

2. 报错
dim rd as New ADODB.Recordset
rd.open "table1"
rd.open "table2" '此句报错

danielinbiti 2003-09-05
  • 打赏
  • 举报
回复
估计是记录集没关闭又打开了
liul17 2003-09-05
  • 打赏
  • 举报
回复
----"对象关闭时,操作不被允许"
这个问题的因为你的 recordset 已经关闭或 打开了一次尚未关闭就又开了一次
用 rd is nothing 看看是否存在
ksmark 2003-09-05
  • 打赏
  • 举报
回复
我也遇到过这样的问题。我是记录集没有打开才造成这样的错误的呢

我估计你也是的。
把你出错的地方贴出来。让大家看看!
frankgy 2003-09-05
  • 打赏
  • 举报
回复
语法错误 Adodc4.RecordSource 是指"设置语或返回一个记录集的查询",只能是"select * from tb where ..."型选择查询sql语句,而不能是其它对数据库操作的sql语句,因此操作不允许.要实现上面的操作最好建一个边接,用这个连接的execute方法执行上面的sql语句!
zhouqi66 2003-09-05
  • 打赏
  • 举报
回复
记录集没关又开
jlum99 2003-09-05
  • 打赏
  • 举报
回复
呵呵,楼上的有意思
warlord 2003-09-05
  • 打赏
  • 举报
回复
出入请随手关门。
smarter 2003-09-05
  • 打赏
  • 举报
回复
记录集打开没关闭又打开出错

记录没打开就开始用出错

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧