Stored procedures 如何从c中的存储过程中读取输出值?

Stored procedures 如何从c中的存储过程中读取输出值?,stored-procedures,Stored Procedures,以下是我的存储过程: ALTER PROCEDURE sp_searchupdate ( @id int, @id_student int, @output varchar(50) output, @Tamil Varchar (100), @English varchar (50), @Maths Varchar (50), @Science Varchar (50), @SocialScience Varchar (50) ) AS IF EXISTS (SELECT * FROM st

以下是我的存储过程:

ALTER PROCEDURE sp_searchupdate
(
@id int,
@id_student int,
@output varchar(50) output,
@Tamil Varchar (100),
@English varchar (50),
@Maths Varchar (50),
@Science Varchar (50),
@SocialScience Varchar (50) 
)

AS
IF EXISTS (SELECT * FROM studentresult WHERE id=@id) 
BEGIN
UPDATE studentresult SET Tamil = @Tamil,English = @English, Maths = @Maths,Science = @Science,SocialScience = @SocialScience WHERE id = @id
SET @output='Updated'
RETURN
END
Else
BEGIN
IF EXISTS (SELECT * FROM student WHERE id=@id_student)
SET @output='EXIST'
RETURN
BEGIN
INSERT into studentresult (id_student,Tamil,English,Maths,Science,SocialScience) values (@id_student,@Tamil,@English,@Maths,@Science,@SocialScience)
SET @output='Inserted'
RETURN
END
END
如果在前端插入数据,则需要显示“插入”或“更新”表示“更新”或“存在”

但是对于上面的查询没有显示通知消息

我可以知道我的密码有什么错误吗

有谁能指导我吗?我是新的存储过程和.net


谢谢,

现在还不清楚你到底想达到什么目的-如果学生记录不存在,为什么你只会插入studentresult记录?无论如何,如果当前不存在studentresult记录,则检查学生记录后,该过程将始终返回。IF后没有BEGIN…END,因此只有IF后的第一条语句依赖于结果。尝试:

ALTER PROCEDURE sp_searchupdate
(
@id int,
@id_student int,
@output varchar(50) output,
@Tamil Varchar (100),
@English varchar (50),
@Maths Varchar (50),
@Science Varchar (50),
@SocialScience Varchar (50) 
)

AS
BEGIN
IF EXISTS (SELECT * FROM studentresult WHERE id=@id) 
BEGIN
UPDATE studentresult SET Tamil = @Tamil,English = @English, Maths =     @Maths,Science = @Science,SocialScience = @SocialScience WHERE id = @id
SET @output='Updated'
END
Else
BEGIN
IF EXISTS (SELECT * FROM student WHERE id=@id_student)
BEGIN
    SET @output='EXIST'
END
ELSE
BEGIN
    INSERT into studentresult (id_student,Tamil,English,Maths,Science,SocialScience) values (@id_student,@Tamil,@English,@Maths,@Science,@SocialScience)
    SET @output='Inserted'
END
END

RETURN
END

有人能帮我吗?。。。。