读书人

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

发布时间: 2012-01-30 21:15:58 作者: rapoo

大家帮帮忙啊~~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

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

读书人网 >SQL Server

热点推荐