ورود

View Full Version : سوال: معادل دستور سی شارپ برای ارسال پارامتر



khorsandreza
جمعه 10 خرداد 1392, 23:25 عصر
سلام
نمیدانم محل سوالم اینجاست یا نه
در سی شارپ برای ارسال پارامتر به SP اس کیو ال از روش زیر استفاده میشود می خواستم بدانم معادل آن در دلفی چگونه نوشته میشوذ

new SqlParameter("@pkid", pkid),
new SqlParameter("@imgnam", imgname),
new SqlParameter("@fullname", fullname),
new SqlParameter("@fileinfo", fileinfo),

من از روش زیر استفاده میکنم فکر می کنم درست نیست



در روش سی شارپ براحتی پارمتر و مقدار قابل فهم است
SP_CROSSTAB.StoredProcName := GetSPName(_SelectItemIndex);
SP_CROSSTAB.Prepare;
Try
SP_CROSSTAB.Params[0].AsString := StartDate.Text;
SP_CROSSTAB.Params[1].AsString := EndDate.Text;
SP_CROSSTAB.ExecProc;
Finally
SP_CROSSTAB.UnPrepare;
CreateAmar(_SelectItemIndex);
End;

تذکر :SP_CROSSTAB نام کامپوننت StoredProc است

Felony
شنبه 11 خرداد 1392, 04:54 صبح
این نمونه کد رو از یکی از برنامه هام که قبلا نوشته بودم برداشتم :


function AthenticateUser(const Username, Password: string): Boolean;
begin
with AthenticateUser do
begin
Close;
ProcedureName := 'sp_AthenticateUser';
Parameters.Refresh;
Parameters.ParamByName('@Username').Value := Username;
Parameters.ParamByName('@Password').Value := Password;
ExecProc;
Result := ((Parameters.ParamValues['@return_value']) = 1);
end;
end;

khorsandreza
شنبه 11 خرداد 1392, 08:26 صبح
این نمونه کد رو از یکی از برنامه هام که قبلا نوشته بودم برداشتم :


function AthenticateUser(const Username, Password: string): Boolean;
begin
with AthenticateUser do
begin
Close;
ProcedureName := 'sp_AthenticateUser';
Parameters.Refresh;
Parameters.ParamByName('@Username').Value := Username;
Parameters.ParamByName('@Password').Value := Password;
ExecProc;
Result := ((Parameters.ParamValues['@return_value']) = 1);
end;
end;
با این روش پارامتر چه جوری به پارامترهای SP اضافه میشه ؟

یوسف زالی
شنبه 11 خرداد 1392, 11:19 صبح
پارامتری اضافه نمی شه. برنامه از روی SP مربوطه تشخیص می ده چه پارامترهایی دارید. نیازی به اضافه کردن دستی پارامتر ها ندارید.
در حقیقت کار اضافه کردن رو همون متد رفرش براتون انجام می ده و در قالب یک لیست در اختیار شما قرار می ده که می تونید هم به صورت ارجاع با نام پارامتر و هم اندیس اون رو پر کنید که اصلا با اندیس کار نکنید چون در مقابل تغییرات پارامترها در SP مصون نیست.