PDA

View Full Version : چگونه return value یک پروسیجر را به یک string نسبت دهم



ghrzarei
یک شنبه 16 فروردین 1388, 19:46 عصر
من یک پروسیجر دارم در sql که نتیجه بازگشتی آن به صورت return value می باشه بر خلاف پرسیجرهای قبلی که results یک جدول بود حالا بگین توی سی شارپ چگونه این return value به رشته پاس بدم

Happy_davood
دوشنبه 17 فروردین 1388, 08:46 صبح
sqlCommand.CommandType = CommandType.StoredProcedure;
sqlCommand.CommandText = "SP_Name";

sqlCommand.Parameters.Add("@ReturnValue", SqlDbType.NVarChar, 32);

sqlCommand.Parameters["@ReturnValue"].Direction = ParameterDirection.ReturnValue;

sqlCommand.ExecuteNonQuery();

MessageBox.Show(sqlCommand.Parameters["@ReturnValue"].Value.ToString());

ASKaffash
دوشنبه 17 فروردین 1388, 09:34 صبح
sqlCommand.CommandType = CommandType.StoredProcedure;
sqlCommand.CommandText = "SP_Name";


sqlCommand.Parameters.Add("@ReturnValue", SqlDbType.NVarChar, 32);


sqlCommand.Parameters["@ReturnValue"].Direction = ParameterDirection.ReturnValue;


sqlCommand.ExecuteNonQuery();


MessageBox.Show(sqlCommand.Parameters["@ReturnValue"].Value.ToString());



سلام
منظور دوستمان در مثال ذیل اینستکه عدد 10 را چگونه دریافت کنیم :


CREATE Proc P1
As
Select * From T1
Return 10

چون در QA به شکل ذیل دریافت میشود :


declare @x bigint
Exec @X=P1
Select @X

ASKaffash
دوشنبه 17 فروردین 1388, 12:09 عصر
سلام
اینطوری :


SqlConnection c = new SqlConnection("Data Source=.;Initial Catalog=Test2008;Integrated Security=True");
SqlCommand m = new SqlCommand("P1", c);
m.CommandType = CommandType.StoredProcedure;
SqlParameter p = new SqlParameter();
p.Direction = ParameterDirection.ReturnValue;
m.Parameters.Add(p);
c.Open();
m.ExecuteNonQuery();
c.Close();
this.Text = p.Value.ToString();
c.Close();