在recordset里使用这样的SQL语句即可
exec sp_myproc
注意你的连接方式,如果是ODBC没问题(需要安装MDAC2,5或以上),如果是sqloleprovider有时候会有一些问题,特别是在牵涉到临时表的时候。

解决方案 »

  1.   

    用数据环境做!!!
    1:建一个数据环境(dm)再建连接,连接到指定数据库。
    2:建一个command名位sp_custom_test,再选择已经做好的存储过程(假设有一个入参invar一个出参outvar)。
    3:在程序里调用 dm.sp_custom_test invar,outvar
    4:outvar 即为所得值。
    此法简单实用,我认识的人都这么做。
    若配合Vb存储过程自动生成插件(SprocAddIn)用则更好,存储过程的函数都可以用VB语言写!!
      

  2.   


    dim cn as new adodb.connection
    dim rs as new adodb.recordset……'数据库连接'无参数情况下
    set rs = cn.execute "exec sp_myproc"        
    '将text1.text作为参数传递的情况
    set rs = cn.execute "exec sp_myproc '" & text1.text & "'"'现在rs中便保存了查询结果集
      

  3.   

    存储过程可如下编写
    CREATE PROCEDURE sp_myproc 
    @CusID nchar(5) 
    AS
    SELECT  Companyname FROM Customer
    WHERE CustomerID = @CusIDGO
      

  4.   


    与random(借用一下,不介意吧)不同的是因你有输出的想法,
    所以这里要有output关键字表示存储过程有输出'存储过程可如下编写
    CREATE PROCEDURE sp_myproc 
    @cusid nchar(5) ,
    @CusID nchar(5) output
    AS
     if exists(
                SELECT  Companyname FROM Customer
                WHERE CustomerID = @cusid
               )
         begin @CusID=(
                        SELECT  Companyname FROM Customer
                        WHERE CustomerID = @cusid
                       )
         end
      else 
        begin @CusID="" end在客户端调用方式为:adodc1.="exec sp_myproc '" & Text1.text & "'"
    adodc1.refresh'显示在另一个TEXTBOX中
    if isnull(adodc1.recordset.field(0)) then
         Text2.text=adodc1.recordset.field(0)
    else 
         Text2.text=""
    end if