내 C # Windows 응용 프로그램에서 저장 프로 시저를 호출하려고합니다. 저장 프로 시저가 SQL Server 2008의 로컬 인스턴스에서 실행되고 있습니다. 저장 프로 시저를 호출 할 수 있지만 저장 프로 시저에서 값을 다시 검색 할 수 없습니다. 이 저장 프로시 저는 시퀀스에서 다음 번호를 반환합니다. 나는 온라인으로 조사를했고 내가 본 모든 사이트에서이 솔루션이 작동한다고 지적했습니다.
저장 프로 시저 코드 :
ALTER procedure [dbo].[usp_GetNewSeqVal]
@SeqName nvarchar(255)
as
begin
declare @NewSeqVal int
set NOCOUNT ON
update AllSequences
set @NewSeqVal = CurrVal = CurrVal+Incr
where SeqName = @SeqName
if @@rowcount = 0 begin
print 'Sequence does not exist'
return
end
return @NewSeqVal
end
저장 프로 시저를 호출하는 코드 :
SqlConnection conn = new SqlConnection(getConnectionString());
conn.Open();
SqlCommand cmd = new SqlCommand(parameterStatement.getQuery(), conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter param = new SqlParameter();
param = cmd.Parameters.Add("@SeqName", SqlDbType.NVarChar);
param.Direction = ParameterDirection.Input;
param.Value = "SeqName";
SqlDataReader reader = cmd.ExecuteReader();
또한 DataSet
동일한 결과로 반환 값을 검색하기 위해를 사용했습니다 . 내 저장 프로 시저에서 반환 값을 얻으려면 무엇을 놓치고 있습니까? 더 많은 정보가 필요하면 알려주세요.
@ReturnVal
저장 프로 시저에도 추가 해야합니까?