存储过程为
CREATE PROCEDURE dbo.gllr
       @user varchar(50) ,
       @name varchar(50),
       @mima varchar(50),
       @Dwb_dwm varchar(40),
       @Dwxb_mc varchar(40),
       @zhiwu varchar(40),
       @jibie varchar(4),
       @jinyong varchar(4)
           as
     set nocount on
     begin
        BEGIN TRANSACTION
        if @user is null return
        insert into Yhb (Yhb_user,Yhb_name,Yhb_pass,Yhb_dw,Yhb_dwmc,Yhb_zw,Yhb_jb,Yhb_sfdl) values (@user,@name,@mima,@Dwb_dwm,@Dwxb_mc,@zhiwu,@jibie,@jinyong)
         IF @@error=0           begin
              COMMIT TRANSACTION
              return 1
          end
        ELSE
              begin
              ROLLBACK TRANSACTION
              return 0
             end         
        return
     end
GO
asp调用时:
     Set MyComm = Server.CreateObject("ADODB.Command")
 'Set objRs = Server.CreateObject("ADODB.Recordset")
     with MyComm
        .ActiveConnection = conn   
        .CommandText       = "denglu"  
        .CommandType       = 4           
        .Prepared          = true        
        .Parameters.append .CreateParameter("@user",200,1,50,user)
        .Parameters.append .CreateParameter("@name",200,1,50,name)
        .Parameters.append .CreateParameter("@mima",200,1,50,mima)
        .Parameters.append .CreateParameter("@Dwb_dwm",200,1,40,Dwb_dwm)
        .Parameters.append .CreateParameter("@Dwxb_mc",200,1,40,Dwxb_mc)
    .Parameters.append .CreateParameter("@zhiwu",200,1,40,zhiwu)
        .Parameters.append .CreateParameter("@jibie",16,1,4,jibie)
.Parameters.append .CreateParameter("@jinyong",16,1,4,jinyong)
        .Parameters.Append .CreateParameter("return",2,4)
        .Execute
     end with
这里返回值怎么没有啊???其他的都对,但是MyComm(8)却始终为空??谢谢帮帮看看

解决方案 »

  1.   

    .Parameters.Append .CreateParameter("return",2,4)   --做第一个参数,还要指定参数类型为Return        .Parameters.append .CreateParameter("@user",200,1,50,user)
            .Parameters.append .CreateParameter("@name",200,1,50,name)
            .Parameters.append .CreateParameter("@mima",200,1,50,mima)
            .Parameters.append .CreateParameter("@Dwb_dwm",200,1,40,Dwb_dwm)
            .Parameters.append .CreateParameter("@Dwxb_mc",200,1,40,Dwxb_mc)
            .Parameters.append .CreateParameter("@zhiwu",200,1,40,zhiwu)
            .Parameters.append .CreateParameter("@jibie",16,1,4,jibie)
            .Parameters.append .CreateParameter("@jinyong",16,1,4,jinyong)
      

  2.   

    不是存储过程的问题,在添加参数的函数CreateParameter应该有重载吧,应该有一种重载是有一个指定他的方向的,有输入输出两种,command对象同时应该有一个他的返回值属性。可以通过他的这个属性获得这个值,没用过你所说的用法,但是command类应该是有这个属性的;ReturnValue。有智能感知试试看。
      

  3.   

    有ReturnValue属性,上面写的那个
    .CreateParameter("return",2,4)
    4就代表您说的那个属性
      

  4.   

    CREATE PROCEDURE dbo.gllr   .CommandText       = "denglu"  =========应该是这里名字错了吧,正确的为:gllr