asp.net如何取得存储过程的output 急!急!

来源:百度知道 编辑:UC知道 时间:2024/06/14 15:12:40
我的问题是为什么添加成功了与数据已存在都会提示"你添加数据已存在"呢?
存储过程:判断用户名不存在就添加,存在就提示用户"你添加数据已存在"

..........表
CREATE TABLE [dbo].[tbPerson] (
[u_id] [int] IDENTITY (1, 1) ,
[UserName] [varchar] (50),
[UserPassWord] [varchar] (50) NOT NULL ,
[UserSex] [varchar] (50) NOT NULL ,
[UserAge] [varchar] (50) NOT NULL ,
[UserMobile] [varchar] (50) NOT NULL
)
...............存储过程
ALTER proc ProcAddPerson
@UserName varchar(20),
@PassWord varchar(20),
@UserSex varchar(10),
@UserMobile varchar(30),
@UserAge varchar(20),
@strResult varchar(100) output
as
if not exists(select * from tbPerson(nolock) where UserName=@UserName)
begin
insert into tbPerson (UserName,UserPassWord,UserSex,UserAge,UserMobile)
values (@UserName,@PassWord,@UserSex,@UserAge,@UserMobile)

set @strResult='OK'
select @strResult
return @

public static string Insert(string UserName,string Password,string Usersex,string Age,string Mobile)
{
SqlConnection con=new SqlConnection("server=.;uid=Person;pwd=123456;database=Person;");
con.Open();
SqlCommand cmd=new SqlCommand("ProcAddPerson",con);
cmd.CommandType=System.Data.CommandType.StoredProcedure;
cmd.Connection=con;

string strResult=""; //接收output的值

cmd.Parameters.Add("@UserName",System.Data.SqlDbType.VarChar,50);
cmd.Parameters.Add("@Password",System.Data.SqlDbType.VarChar,50);
cmd.Parameters.Add("@Usersex",System.Data.SqlDbType.VarChar,50);
cmd.Parameters.Add("@UserAge",System.Data.SqlDbType.VarChar,50);
cmd.Parameters.Add("@UserMobile",System.Data.SqlDbType.VarChar,50);
cmd.Parameters.Add("@strResult",SqlDbType.VarChar,50);

cmd.Parameters["@U