CREATE PROCEDURE [InsertUser] 
@UName varchar(100),
@UPass  varchar(100),
@Depart intAS 
declare @strMsg varchar(100)
If Exists (Select * from [User] Where UName = @UName)
begin 
select @strMsg = '用户名['+@UName+']已经存在!'
end
else
begin
Insert into  [User](UName,UPass,Depart) values(@UName,@UPass,@Depart)
select @strMsg = '添加用户['+@UName+']成功!'
end

return @strMsg
GO------------------------
exec InsertUser 'eeee','eeeee',2 后返回错误服务器: 消息 245,级别 16,状态 1,过程 InsertUser,行 18
将 varchar 值 '添加用户[eeee]成功!' 转换为数据类型为 int 的列时发生语法错误。

解决方案 »

  1.   

    CREATE PROCEDURE [InsertUser] 
    @UName varchar(100),
    @UPass  varchar(100),
    @Depart intAS 
    declare @strMsg varchar(100)
    If Exists (Select * from [User] Where UName = @UName)
    begin 
    select @strMsg = '用户名['+@UName+']已经存在!'
    end
    else
    begin
    Insert into  [User](UName,UPass,Depart) values(@UName,@UPass,@Depart)
    select @strMsg = '添加用户['+@UName+']成功!'
    end
    print @strMsgGO
      

  2.   

    谢谢小马哥,但是还有一点,我需要在c#程序中调用这个这个存储过程,并取得@strMsg 的值