ورود

View Full Version : برگشت مقادیر از یک store procedure



ali_mnkt
یک شنبه 30 فروردین 1388, 23:50 عصر
با سلام .

من یه stor procedure دارم که داخل اون چند تا دستور select نوشتم و نتیجه هر کدوم رو

(نتیجه دستورات select) رو داخل یه متغییر که تو همون stor procedure تعریف کردم می ریزم

به عنوان نمونه مثل کد زیر:



declare @x int
select @x=sum(price(
from gheymat


خوب حالا من چطوری به صورت تفکیک شده هرکدوم از این متغییر ها رو به برنامم بفرستم؟

(آیا به نحوه ی فراخونی store procedure ربطی داره یا یه جور دیگه حل می شه )

nemidonam
دوشنبه 31 فروردین 1388, 08:29 صبح
سلام
باید قبل از as متغیرهای output را تعریف کنی



@x int output
AS
select @x=sum(price)
from gheymat



بعد در برنامه این متغیرها رو تک تک بخوانی

ali_mnkt
دوشنبه 31 فروردین 1388, 11:55 صبح
مرسی دوست عزیز

چطوری باید در برنامه باید این sp رو فراخوانی کنم ؟ می شه یه نمونه کدش رو بنویسی؟

ali_mnkt
دوشنبه 31 فروردین 1388, 23:07 عصر
دوستان اگه می شه یه نمونه کد برای فراخوانی sp با این شرایط و انتقال این خروجی ها

به متغییر های موجود در برنامه بزاریید. ممنون می شم .

nemidonam
سه شنبه 01 اردیبهشت 1388, 11:35 صبح
دوستان اگه می شه یه نمونه کد برای فراخوانی sp با این شرایط و انتقال این خروجی ها

به متغییر های موجود در برنامه بزاریید. ممنون می شم .
این سوال رو باید در بخش برنامه نویسی بپرسی

sempay_ninjutsu
سه شنبه 22 تیر 1389, 11:12 صبح
SqlConnection objconnection = new SqlConnection("server=VAHID-8BD554FAA;database=example;integrated security=true;");
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "sese_insert";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@name","arash");
cmd.Parameters.AddWithValue("@family","amini");
cmd.parametrs.add("@resualt",sqldbtype.int);
cmd.parametrs["@resualt"].direction=parametrs.direction.output;
cmd.Connection = objconnection;
objconnection.Open();
cmd.ExecuteNonQuery();
messagebox.show(cmd.parametrs["@resualt"].value.tostring());
objconnection.Close();
متغیر ریزالت نوع خروجیه شما می باشد و میتوان از طریق متد ولیو مقدار آنرا بدست آورد.

ASKaffash
سه شنبه 22 تیر 1389, 12:29 عصر
با سلام .

من یه stor procedure دارم که داخل اون چند تا دستور select نوشتم و نتیجه هر کدوم رو

(نتیجه دستورات select) رو داخل یه متغییر که تو همون stor procedure تعریف کردم می ریزم

به عنوان نمونه مثل کد زیر:



declare @x int
select @x=sum(price(
from gheymat


خوب حالا من چطوری به صورت تفکیک شده هرکدوم از این متغییر ها رو به برنامم بفرستم؟

(آیا به نحوه ی فراخونی store procedure ربطی داره یا یه جور دیگه حل می شه )

سلام
همه رو با یک Select بفرست :


Declare @x1 int,@x2 varchar(100),@x3 bigint
Set @x1=(select ......)
Set @x2=(select ......)
Set @x3=10
Select X1=@x1,X2=@x2,X3=@x3