View Full Version : کار با sp
  
حمیدرضاصادقیان
یک شنبه 06 اسفند 1385, 09:45 صبح
سلام دوستان.
میخواستم ببینم مقدار بازگشتی sp زیر رو چطور میتونم توسط Tadostoredproc کنترل کنم؟
 CREATE PROCEDURE spDelA_LUGrooh @Code  numeric
 AS
                    delete from A_LUGrooh  where  Code=@Code
                    return 1
GO
بهنام بهمنی
یک شنبه 06 اسفند 1385, 10:05 صبح
با سلام به حمید آقا
در تعریف SP ات باید یک پارامتر از نوع خروجی تعریف کنی به شکل زیر 
    CREATE PROCEDURE spDelA_LUGrooh @Code  numeric ,@Ret int OUTPUT
در داخل sp هم در پایان بنویس
Set @Ret=1
در داخل دلفی هم به صورت زیر عمل کن
  spaddperson.Parameters[1].Value:=val1;
  spaddperson.ExecProc;
  VAL2:=spaddperson.Parameters[2].Value;
موفق باشی
حمیدرضاصادقیان
یک شنبه 06 اسفند 1385, 20:32 عصر
سلام بهنام جون.کار و بار چطوره؟
این روش رو خودم بلدم.میخوام بدون تعریف متغیر output اینکارو انجام بدم. خیلی از sp ها به این صورتتی که من گفتم تعریف میشن و بدون متغیر بازگشتی مقدار return رو برمیگردونن.
darvishiali
یک شنبه 06 اسفند 1385, 22:24 عصر
سلام؛
 
همونطور که میدونین، SP خودش یه مقدار بازگشتی از نوع Integer داره.
برای استفاده از اون مقدار بازگشتی در دلفی و توسط ADO باید اینجوری کار کنی :
 
with spDelA_LUGrooh do
begin
Parameters.ParamValues['@Code']:=123;
ExecProc;
Val:=Parameters.ParamValues['@RETURN_VALUE'];
end;
 
حالا میتونی از مقدار Val که در SP خودت قراره 1 باشه، استفاده کنی.
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.