PDA

View Full Version : سوال: صدا زدن StoredProcedure که پارامتر خروجی دارد؟



alireza_tavakol
یک شنبه 06 اردیبهشت 1388, 02:38 صبح
من StoredProcedure زیر را تعریف کرده ام



CREATE PROCEDURE sp1 (@amax int output)
AS
select @amax=max(a) from t1
GO

من در محیط Query Analyzer این StoredProcedure به شکل زیر صدا میزنم



declare @abala int
exec sp1 @abala output
select * from t1 where a=@abala
حالا سوال من اینه در محیط C# چگونه باید این StoredProcedure را صدا بزنم؟:متفکر:

esmaeily-hosein
یک شنبه 06 اردیبهشت 1388, 10:06 صبح
میتونی از متد ExecuteScaller در SqlCommandاستفاده کنی .
و یا اگر پارامتر از نوع out داری میتونی SqlParameter تعریف و Direction اونو Output بزاری .

alireza1384
یک شنبه 06 اردیبهشت 1388, 11:07 صبح
می تونی به شکل زیر عمل کنی :
int rowsEffect = 0;
PsqlCommand.CommandType = System.Data.CommandType.StoredProcedure;
PsqlCommand.CommandText = "PersonalTbl_Insert";
PsqlCommand.Parameters.Clear();

PsqlCommand.Parameters.Add("@personalid", SqlDbType.Int).Direction = ParameterDirection.Output;
rowsEffect = PsqlCommand.ExecuteNonQuery();
object PersonalId = PsqlCommand.Parameters["@PersonalId"].Value;

alireza_tavakol
یک شنبه 06 اردیبهشت 1388, 15:22 عصر
با تشکر از دوستانی که پاسخ دادند یک نکته مهم در اضافه کردن پارامتر ها و جود داره اونم اینکه حتما باید نام پارامتر ها در زبان برنامه نویسی مانند پارامتر ها در SQLServer باشه