1 NİSAN 2009, ÇARŞAMBA
C saklı yordam dönüş değeri almak#
Aşağıdaki sorgu var:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[Validate]
@a varchar(50),
@b varchar(50) output
AS
SET @Password =
(SELECT Password
FROM dbo.tblUser
WHERE Login = @a)
RETURN @b
GO
Bu gayet iyi derler.
C# ben bu sorguyu çalıştırmak ve dönüş değeri almak istiyorum.
Benim kod aşağıdaki gibidir:
SqlConnection SqlConn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MyLocalSQLServer"].ConnectionString.ToString());
System.Data.SqlClient.SqlCommand sqlcomm = new System.Data.SqlClient.SqlCommand("Validate", SqlConn);
string returnValue = string.Empty;
try
{
SqlConn.Open();
sqlcomm.CommandType = CommandType.StoredProcedure;
SqlParameter param = new SqlParameter("@a", SqlDbType.VarChar);
param.Direction = ParameterDirection.Input;
param.Value = Username;
sqlcomm.Parameters.Add(param);
SqlParameter retval = sqlcomm.Parameters.Add("@b", SqlDbType.VarChar);
retval.Direction = ParameterDirection.ReturnValue;
string retunvalue = (string)sqlcomm.Parameters["@b"].Value;
Not: özel Durum işleme kodu kısa tutmak için kesti. Her zaman son satırı, null döndürülür. Bu kod ile mantık hatası nedir?
Teşekkürler
CEVAP
1 NİSAN 2009, ÇARŞAMBA
retval.Direction = ParameterDirection.Output;
ParameterDirection.ReturnValue
"" yordam çıkış parametreleri değil. dönüş değeri için kullanılmalıdır Değeri RETURN
(parametre @RETURN_VALUE
adında SQL deyimi tarafından döndürülen alır.
RETURN @b
10 yerine**
Bu arada, dönüş değeri parametre her zaman int
, dize deÄŸil.
Bunu PaylaÅŸ:
T-SQL saklı yordam Seçilen değeri alma...
nasıl bir dönüş değeri almak için pyth...
Selenyum Javascript kodu dönüş değeri ...
SQL Server Saklı Yordam, fonksiyon vs....
Nasıl bir ArrayList son değeri almak i...