Ich habe Probleme, die Syntax für meine C# 2008 asp.net-Code korrekt zu bekommen. Ich brauche einen Rückgabewert zu erhalten (Select @@ Identity) von meiner gespeicherten ProzedurErhalten eines Rückgabewerts in C# asp.net aus einer gespeicherten Prozedur (Syntaxproblem)
Mein C# -Code ist:
SqlConnection conn = new SqlConnection(strConn);
string sql = "usp_ClientProfile_Header";
SqlCommand cmdHeader = new SqlCommand(sql, conn);
cmdHeader.CommandType = CommandType.StoredProcedure;
cmdHeader.Parameters.Add(new SqlParameter("@FirstName", SqlDbType.VarChar, 50));
cmdHeader.Parameters["@FName"].Value = txtFName.Text.Trim();
cmdHeader.Parameters.Add(new SqlParameter("@LastName", SqlDbType.VarChar, 50));
cmdHeader.Parameters["@LName"].Value = txtLName.Text.Trim();
cmdHeader.Parameters.Add(new SqlParameter("@EmailAddress", SqlDbType.VarChar, 100));
cmdHeader.Parameters["@Email"].Value = txtEMail.Text.Trim();
cmdHeader.Parameters.Add(new SqlParameter("@Address1", SqlDbType.VarChar, 255));
cmdHeader.Parameters["@Address1"].Value = txtAddress1.Text.Trim();
cmdHeader.Parameters.Add(new SqlParameter("@City", SqlDbType.VarChar, 50));
cmdHeader.Parameters["@City"].Value = txtCity.Text.Trim();
cmdHeader.Parameters.Add(new SqlParameter("@State", SqlDbType.VarChar, 50));
cmdHeader.Parameters["@State"].Value = txtState.Text.Trim();
cmdHeader.Parameters.Add(new SqlParameter("@ZipCode", SqlDbType.VarChar, 12));
cmdHeader.Parameters["@Postal_Code"].Value = txtZip.Text.Trim();
Die nächste Zeile in meinem Code muss die "ParameterDirection.ReturnValue seine "Aber ich kann nicht scheinen, dass die Syntax korrekt ist.
Irgendwelche Ideen?
Sie sagen, "Rückgabewert", was bedeutet: RETURN (@NewID) Syntax, aber Sie sagen, „select @@ Identität ", die eine Ergebnismenge zurückgibt, keinen Rückgabewert. Meine Antwort geht davon aus, dass Sie die RETURN-Syntax verwenden. Könnten Sie das klären? – AdaTheDev
der Code in der gespeicherten Prozedur ist Select @@ Identität Leider kann der gespeicherte Proze nicht geändert werden. – user279521
Pity-Proc kann nicht geändert werden. Bekanntlich möchte ich nur erwähnen, dass SCOPE_IDENTITY besser als @@ Identity verwendet werden sollte. Ich weiß, dass es in diesem Fall nicht anwendbar ist, nur Samen für andere ausgebend, die möglicherweise nicht http://msdn.microsoft.com/en-us/library/aa259185(SQL.80).aspx wissen –