| 发表于:2007-11-25 13:43:18 楼主 |
写了一个存储过程,先用select into语名将多个数据表连接查询后生成一个局部临时表#abcd ,然后再用select 语句对临时表进行分组统计,想将分组统计的多行记录结果用ado的方式返回到vb中,并在卓面表格中显示出来, 存储过程在sql server查询分析器中执行通过且正确。在vb中调用时出现提示: 过程proc_energy01'需要参数 '@outparam',由于本人是初次使用存储过程,所以不知道怎么做,请各位高手指教,存储过程该如何写才行,谢谢!存储过程及vb调用程序如下: 存储过程程序:(用vb创建的存储过程) create procedure proc_energy01(@inparam char(6)) as select q.油田id,q.油田名称,r.区块id,s.井号,年月,日产液,日产油,含水 into #abcd from 油田名称表 q,油田区块名称表 r,井号名称表 s,产能原始表 t where q.油田id=r.油田id and r.区块id=s.区块id and s.井号=t.井号 and t.年月=@inparam order by q.油田id select 油田名称,count (*) as 井数,sum(日产液) 日产液,sum(日产油) as 日产油 from #abcd group by 油田名称 vb调用程序 dim conn as new adodb.connection dim cmd as new adodb.command dim parainput as adodb.parameter dim rst as adodb.recordset set conn = new adodb.connection set parainput = new adodb.parameter set cmd = new adodb.command with parainput .type = advarchar '参数类型 .size = 6 '参数长度 .direction = adparaminput '参数方向,输入或输出 .value ='200707' end with cmd.parameters.append parainput '加入参数 conn.cursorlocation = aduseclient '使用由本地游标库提供的客户端游标 conn.open connectionstring set cmd.activeconnection = conn with cmd .commandtype = adcmdstoredproc .commandtext = "proc_energy01" '存储过程名 .commandtimeout = 15 .EXECute '运行存储过程 set rst = .EXECute '如果有记录集返回的写法 end with |
|
|
|
|