首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

大家帮帮忙啊asp 存储过程 添加记录,该怎么解决

2012-01-30 
大家帮帮忙啊~~asp 存储过程 添加记录存储过程为CREATEPROCEDUREdbo.gllr@uservarchar(50),@namevarchar(5

大家帮帮忙啊~~asp 存储过程 添加记录
存储过程为
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)却始终为空??谢谢帮帮看看

[解决办法]
把返回参数设置为第一个添加的参数试试。
[解决办法]
存储过程好象没问题,应该是调用问题
[解决办法]
.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)
[解决办法]
不是存储过程的问题,在添加参数的函数CreateParameter应该有重载吧,应该有一种重载是有一个指定他的方向的,有输入输出两种,command对象同时应该有一个他的返回值属性。可以通过他的这个属性获得这个值,没用过你所说的用法,但是command类应该是有这个属性的;ReturnValue。有智能感知试试看。
[解决办法]
CREATE PROCEDURE dbo.gllr

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

[解决办法]
呵呵,偶来晚了,没想到楼主的问题已经解决了
接个分吧

热点排行