Aufrufen einer gespeicherten Prozedur mit return-Wert

Ich bin versucht, eine gespeicherte Prozedur aufrufen, von meinem C# - windows-Anwendung. Die gespeicherte Prozedur ausgeführt wird, auf einer lokalen Instanz von SQL Server 2008. Ich bin in der Lage, rufen Sie die gespeicherte Prozedur, aber ich bin nicht in der Lage, um den Wert wieder aus der gespeicherten Prozedur. Diese gespeicherte Prozedur zurückgeben sollte, die nächste Nummer in der Sequenz. Ich habe getan, online-Forschung, und alle Seiten, die ich gesehen habe haben darauf hingewiesen, dass diese Lösung zu arbeiten.

Gespeicherte Prozedur code:

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

Code ruft die gespeicherte Prozedur:

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();

Habe ich auch versucht, mit einer DataSet zum abrufen der return-Wert mit dem gleichen Ergebnis. Was vermisse ich zu bekommen
der Rückgabewert von meinen gespeicherten Prozedur? Wenn mehr Informationen benötigt werden, lasst es mich bitte wissen.

InformationsquelleAutor Wesley | 2011-06-02

Schreibe einen Kommentar