'计算工作台移动时间
SQL = "select * from PCB3 where 序号=" & xuhao1
rss.Open SQL, cn, 3, 3 'rss为recordset
If rss.RecordCount <> 0 Then
XX = rss.Fields(1) '序号为pop(i,k)的X坐标
YY = rss.Fields(2) '序号为pop(i,k)的Y坐标
FF = rss.Fields(3) '序号为pop(i,k)的元件类型
rss.Close
cn.Close 'cn为connenction
End If
哪里不对呢?请指教!
VB 错误代码3075 :对象打开时不允许操作
答案:2 悬赏:20 手机版
解决时间 2021-04-09 16:10
- 提问者网友:兔牙战士
- 2021-04-09 00:19
最佳答案
- 五星知识达人网友:蓝房子
- 2021-04-09 01:44
这段代码来看没啥问题,看来问题出在上下文。整体要点如下:
1、recordset 和Connection 变量一般作为全局变量,在程序加载时候初始化。
2、recordset每次使用后关闭,而Connection则是在程序最后退出时候关闭。
3、如果担心recordset已经被使用而没有关闭,可以在使用前加一句
If rss.State <> adStateClosed Then rss.Close
最后,针对你的代码,你可以试试先注释掉 cn.Close,在顶部加上
If rss.State <> adStateClosed Then rss.Close
1、recordset 和Connection 变量一般作为全局变量,在程序加载时候初始化。
2、recordset每次使用后关闭,而Connection则是在程序最后退出时候关闭。
3、如果担心recordset已经被使用而没有关闭,可以在使用前加一句
If rss.State <> adStateClosed Then rss.Close
最后,针对你的代码,你可以试试先注释掉 cn.Close,在顶部加上
If rss.State <> adStateClosed Then rss.Close
全部回答
- 1楼网友:爱难随人意
- 2021-04-09 03:01
楼上的不懂不要误导人家,明明是操作sql server的一段代码。 楼主的错误在于 command1_click()事件中 还有 usermodify() 函数中 都调用了
call sq
conn.open
这里conn应该是一个全局或者模块级别的数据库连接对象,只需要open一次就可以了。其他使用这个conn对象的recordset直接就可以通过它来连接,操作数据库了。
你点击command1之后,
usermodify()里面就不用
call sq
conn.open
这两句了。
当然从整体结构来看你的代码这样写不是很合理,如果只是用来做个练习也就罢了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯