高手请进:ado控件调用存储过程的问题,急,在线等!
我在vb6.0中打算用ado控件和datagrid控件,其中datagrid的数据源绑定在adodc控件上,ado控件的数据源打算调用存储过程,可是却始终出错。代码如下:
Private Sub Command1_Click()
Me.Adodc1.ConnectionString = Connstr
Me.Adodc1.CommandType = adCmdUnknown
StrSql = "exec Proc_Kind_SEARCH '电梯',1"
'Me.Adodc1.Refresh
'Me.Adodc1.Recordset.Open
Me.Adodc1.RecordSource = StrSql
'Me.Adodc1.Refresh
Dim res As New ADODB.Recordset
Set res = New ADODB.Recordset
'res.Open strSQL, Connstr, 3, 3
Set Me.DataGrid1.DataSource = Nothing
With res
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open StrSql, Connstr, adOpenKeyset, adLockOptimistic
End With
Me.Adodc1.RecordSource = StrSql
Me.Adodc1.Refresh
Set Me.DataGrid1.DataSource = Nothing
Set Me.DataGrid1.DataSource = Me.Adodc1.Recordset
'Set Me.DataGrid1.DataSource = res
'DataGrid1.Refresh
End Sub
这个和存储过程有关系,我用别的存储过程不会出错,但是这个存储过程不行,存储过程如下:SELECT IDENTITY(INT,1,1) AS '序号' ,Tbl_BasTZSB.Tname as '设备名称',Tbl_BasTZSB.treg as '注册登记号',tsydw as '使用单位',tsbsydd as '设备地点',
tlxr as '联系人',ttel as '电话',filestore.fdate as '检验日期',fjyy as '检验员',fzzr as '打字员',txcjyrq as '下次检验日期', fname as '报告名称',fbianhao as '报告编号'
into #tmd
From tbl_bastzsb left join filestore
on filestore.freg=tbl_bastzsb.treg
and filestore.fdate in (select max(filestore.fdate) as '检验日期' from filestore group by filestore.freg)
where tkind=@keyword
select * from #tmd
drop table #tmd
我是在sql里面新建一个临时表#tmd,用来插入序号进行排序。存储过程用查询分析器做过测试没有问题,可是在vb中调试却老是报错:adodc1:对象关闭时操作不被允许,这是为什么呢?该怎么解决或者是用别的什么办法也行呀,只要能解决就行,分不够可以再加。