存储过程上不需要Input或Output的,定义了游标也没有用,在存储过程中,你只要执行Selete语句就可以了。在VB中用recordset直接接收就可以了。
只是你在这时候不能对SQL的这个存储进行调试了。
只是你在这时候不能对SQL的这个存储进行调试了。
解决方案 »
- 在WIN7下执行软件中的导出到EXCEL功能时提示错误:ActiveX部件不能创建对象
- 利用ado最后更新数据库, 不知道如何操作,请帮我一下,谢谢
- 请问用一个Winsock能否又做服务器又做客户
- 有哪位大侠能给出一个简短而全的一个用VB操纵EXcel打印的过程(立结)
- 急!急!急!100分===windows XP 英文专业原版 哪里有下载点?===100分
- 大家都来看,这是为什么
- 散分 — 托盘图标句柄问题 (up有分)
- ?关于〔水晶报表〕,请您指教
- 有谁用vb访问过informix
- 555,关于SQL服务器的问题还是解决不了??
- 如何在程序中关闭用shell函数打开的程序(急!急!!急!!!)怎么我提的问题都解决不了啊?
- 请教vb的问题
如果你用的是SQL2000,干脆使用自定义FUNCTION,它可以返回表。
Create Procedure ResultValue(@a char(5),@b char(5),@c char(5)) As
set nocount no
create table #t1 (f1 char(5),f2 char(5),f3 char(5))
insert #t1(f1,f2) select ta.f1,tb.f2,tc.f3 from ta,tb,tc where
ta.a=@a and tb.b=@b and tc.c=@c
select f1,f2 from #t1
drop table #t1
set nocount off
returnVB中调用
dim cnn as New ADODB.Connection
dim cmd as New ADODB.Command
dim rst as New ADODB.Recordset..............
cmd.CommandText="{?=Call dbo.ResultValue(?,?,?)}"
cmd.CommandType = adCmdText
cmd.Parameters.Refresh
cmd.Parameters(0).Value="1234"
cmd.Parameters(1).Value="23456"
cmd.Parameters(2).Value="34565"
set rst=cmd.Execute
set datagrid1.DataSource=rst
datagrid1.ReBind
.........