[学校工作]
我有一个存储过程。
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [IO].[usp_selectUser] (@username varchar(50))
AS
BEGIN
SELECT passwordSalt, hashedPassword
FROM [IO].[Users]
WHERE username = @username;
END
而在我的C#程序中,我需要得到的是 passwordSalt
和 hashedPassword
其中用户名匹配。
当前的C#代码
SqlCommand command = new SqlCommand("[IO].[usp_selectUser]", con);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add(new SqlParameter("@username", SqlDbType.VarChar)).Value = username;
我试过谷歌搜索结果中的一些东西,但没有一个工作正常。如何得到两个独立的字符串?
一个朋友解决了我的问题。存储过程没有标记参数作为输出。
USE [TICKETING_DB]
GO
/****** Object: StoredProcedure [IO].[usp_selectUser] Script Date: 5/4/2020 11:08:10 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [IO].[usp_selectUser] (@username varchar(50), @passwordSalt varchar(50) output, @hashedPassword varchar(100) output)
AS
BEGIN
SELECT @passwordSalt = passwordSalt, @hashedPassword = hashedPassword FROM [IO].[Users]
WHERE username = @username;
END