VB6.0 ADODB.Recordset 对象已关闭问题
VB 6.0 下经常用到 ADODB.Record ,用于获取查询结果(select查询、存储过程返回的查询结果集 等) 其中,select查询一般不会有什么问题,但是 返回存储过程中的查询结果集却容易出问题。特别是 VB6.0 + SQL2000 的情况。 下面举例: procedure-- sp_rpt1 中有如下语句: CREATE TABLE ##tmp_2 INSERT INTO ##TMP_2 calltype='1'calldesStrCollection ='abcdefghijk' .... select * from ##TMP_2 VB 6.0 中有如下语句: Dim cmd As ADODB.Command 在VB6.0程序执行中,会出现 Rs_Data.State = 0 的情况。 正是这些警告信息,导致 sp_rpt1没有返回"结果集"给Rs_Data,由于Rs_Data没有获得结果集,所以自动关闭了。 解决方法是: 修改表##tmp_2定义,calldesStrCollection NVARCHAR(4000) 改成 calldesStrCollection NVARCHAR(3000) 或者 将Nvarchar 改成 Ntext 类型。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |