日期:2014-05-18  浏览次数:20518 次

关于一个存储过程的菜鸟问题
我写了一个存储过程,当管理员删除用户的时候,添加管理日志。但是写到C#的时候,老是报错,说缺少参数
请各位指点下。
SQL code

create proc Operation_Add  ----添加日志
    @AdminId int,
    @Content varchar(200)
    as insert into Operation (AdminId,Content) values (@AdminId,@Content)

ALTER proc User_DeleteById  --删除用户
(
    @Id int,
    @AdminIds int
)
    as
    declare @Contents varchar(200)
        set @Contents=('删除了用户:'+(select Name from Users where Id=@Id))
        exec Operation_Add
            @AdminId=@AdminIds,
            @Content=@Contents
    delete from Users where Id=@Id
    return 1



当我传参@Id和@AdminIds的时候,提示我缺少参数AdminIds  
当我调试的时候,发现我传的2个参数分别赋给了:@Id和@AdminId 所以很不解
请各位帮忙解释下,应该如何操作?

------解决方案--------------------
SQL code
ALTER proc User_DeleteById  --删除用户
(
    @Id int,
    @AdminIds int
)
as
declare @Contents varchar(200)
select @Contents='删除了用户:'+Name from Users where Id=@Id
insert into Operation (AdminId,Content) values (@AdminIds,@Contents)
delete from Users where Id=@Id

------解决方案--------------------
select Name from Users where Id=@Id
这句有Bug,如果返回多笔数据,也会报错,加Top 1