Parsi Coders
Delphi va sp - نسخه قابل چاپ

+- Parsi Coders (http://parsicoders.com)
+-- انجمن: Software Development Programming (http://parsicoders.com/forumdisplay.php?fid=37)
+--- انجمن: Pascal/Delphi (http://parsicoders.com/forumdisplay.php?fid=45)
+--- موضوع: Delphi va sp (/showthread.php?tid=1980)

صفحات 1 2


Delphi va sp - nasrinPoornejaty - 03-28-2012

salam man to delphi mikham ba sp kar konam , vaghti connection bargharar mishe asami Sp ha shenakhte mishe ama parametr ha ro nemishnase , chera??????

سلام من تو دلفی میخوام با اس پی کار کنم وقتی کانکشن برقرار میشه اسم sp ها شناخته میشه اما پارمتر ها رو نمیشناسه چرا ؟
لطفا فارسی تایپ کنید (ویرایش شد)


RE: Delphi va sp - Amin_Mansouri - 03-28-2012

درود
سورس کد رو بزار تا بگم
واضح هم توضیح بدید فارسی هم تایپ کنید


RE: Delphi va sp - Amin_Mansouri - 03-28-2012

اگر Sp منظورت stored procedure توی دبتابیسه اینجا ببین کامل راهنمایی میکنه :
http://www.irandelphi.ir/showthread.php?t=637
بدرود


RE: Delphi va sp - nasrinPoornejaty - 03-28-2012

کد:
procedure TForm1.Button2Click(Sender: TObject);
var text: String;
    CmdStr,Thread_CMD     : String;
    x: integer;
    Adostoredproc1 : TADOStoredProc  ;
    Param      : TParameter;
begin
Adostoredproc1:=TADOStoredProc.Create(Self);

CmdStr:='-DISPLAY THREAD(*) LOCATION(*)'  ;
with ADOStoredProc1 do
Begin
  Connection  := DataModule1.ADOConnection1;
  ProcedureName := 'SYSPROC.ADMIN_COMMAND_DB2';
  Param:= Parameters.AddParameter;

  Param.Name       :='DB2_CMD';
  Param.DataType   := ftString;
  Param.Direction  := pdInput;
  Param.Size       := 32700;

  Param:= Parameters.AddParameter;
  Param.Name       :='LEN_CMD';
  Param.DataType   := ftInteger;
  Param.Direction  := pdInput;

  Param:= Parameters.AddParameter;
  Param.Name       :='PARSE_TYPE';
  Param.DataType   := ftString;
  Param.Direction  := pdInput;
  Param.Size       := 3;

  Param:= Parameters.AddParameter;
  Param.Name       :='DB2_MEMBER';
  Param.DataType   := ftString;
  Param.Direction  := pdInput;
  Param.Size       := 8;

  Parameters.ParamByName('DB2_CMD').Value:=CmdStr;
  Parameters.ParamByName('LEN_CMD').Value:=length(CmdStr);
  Parameters.ParamByName('DB2_CMD').Value:='THD';
  Parameters.ParamByName('DB2_CMD').Value:='';

  Active:=True;
  ExecProc ;
end;
    if ADOStoredProc1.Parameters.ParamByName('RETURN_CODE').Value = 0  Then
     begin
          For x:=0 to    ADOStoredProc1.RecordCount     do
          begin
               Text := ADOStoredProc1.FieldByName('NAME').AsString;
               ShowMessage(text);
          end;
     end;
end;
این سورس برنامه هستش ، از لینکی هم که داده بودیده نگاه کردم همین کارهای من رو انجام داده بود.


RE: Delphi va sp - Amin_Mansouri - 03-28-2012

دلفی چنده استفاده کردی ؟



RE: Delphi va sp - nasrinPoornejaty - 03-28-2012

دلفی 7


RE: Delphi va sp - Amin_Mansouri - 03-28-2012

sql server روی سیستمت نصبه ؟


RE: Delphi va sp - nasrinPoornejaty - 03-28-2012

بله نصب ، ولی دیتابیس من دی بی توی


RE: Delphi va sp - Amin_Mansouri - 03-28-2012

یه سورس کد برات گذاشتم :


.zip   ADOQuery.zip (اندازه 21.8 KB / تعداد دانلود: 6)


RE: Delphi va sp - nasrinPoornejaty - 03-28-2012

ولی من که با این مشکلی نداشتم ، من با فراخوانی استور پروسیجر مشکل دارم . من می خوام بدونم که استورپروسیجر با ریزالت ست کار می کنه یا نه ، من خروجی استور پروسیجرم به شکل زیر است :
ROWNUM TEXT

ROWNUM TYPE NAME STATUS ACTIVE REQ ID AUTHID PLAN ASID
1 1 SERVER SP * 2403 DBArt812.exe NASRIN DISTSERV 006E
2 1 DISCONN DA * 16428 NONE NONE DISTSERV 006E

CMD_EXEC IFCA_RET IFCA_RES XS_BYTES IFCA_GRES GXS_BYTES RETURN_CODE MSG
1 0 0 0 0 0 0 [NULL]

من می تونم فقط بخش آخر رو بخونم اما در واقع چیزی که من نیاز دارم بخش دوم هستش جایی که فیلدهای نام و وضعیت و .... داره .
به نظر من داره با temp table
کار می کنه ولی من نمی دونم چطوری در زمان فراخوانی استورپروسیجر از این جدول موقت استفاده کنم یا از ریزالت ست