PDA

View Full Version : ایجاد فیلد calculated به صورت ساخت در زمان اجرا



mahdi939
یک شنبه 18 آذر 1386, 18:01 عصر
باسلام
من میخواهم از فیلد calculated استفاده نماییم ولی لازم به توضیح می باشد Adoquery من بصورت Create زمان اجرا استفاده می شود و من میخواهم فیلد calculated را در زمان اجرا با دستورات مربوطه به سازم آیا شما در خصوص دستورات ساخت فیلد calculatedزمان اجرا اطلاعاتی دارید در این خصوص مرا راهنمایی بنمائید .

باکمال تشکر

dkhatibi
یک شنبه 18 آذر 1386, 18:20 عصر
بهتر نیست از همون دستورات Sql استفاده نمایید.

sasan_vm
یک شنبه 18 آذر 1386, 18:25 عصر
سلام


adoQuery: TADOQuery;
Field: TFiled; { Your Field type TLargeintField,... }
adoQuery.Create(nil);
.
..
... { Other instanc code }
with Field do
begin
Create(adoQuery);
FieldKind := fkCalculated;
Name := ..;
FieldName := ...;
DataSet := adoQuery;
Alignment := ...;
end;
adoQuery.FieldList.Update; { At last }

ghabil
یک شنبه 18 آذر 1386, 21:13 عصر
سلام


adoQuery: TADOQuery;
Field: TFiled; { Your Field type TLargeintField,... }
adoQuery.Create(nil);
.
..
... { Other instanc code }
with Field do
begin
Create(adoQuery);
FieldKind := fkCalculated;
Name := ..;
FieldName := ...;
DataSet := adoQuery;
Alignment := ...;
end;
adoQuery.FieldList.Update; { At last }



قدیما که آبجکتهارو از روی کلاسشون میساختن ، نمیدونم چرا اینجا خود Instance خودش رو Create میکنه، احتمالا اشتباه تایپیه ، اگر میخوای AV نگیری کد رو اینطوری (با اجازه نویسنده)کن :



adoQuery: TADOQuery;
...

adoQuery := TADOQuery.Create(nil); .
..
... { Other instanc code }
with TField.Create(adoQuery) do //از کلاسی که میخوای بجای TField استفاده کن مثلا اگر عددی هست فیلدت بزن TIntegerField.Create...
begin
FieldKind := fkCalculated;
Name := ..;
FieldName := ...;
DataSet := adoQuery;
Alignment := ...;
end;
adoQuery.FieldList.Update; { At last }

ali_abbasi22145
دوشنبه 19 آذر 1386, 09:47 صبح
سلام
آقای علیرضا کوشا عزیز یک مثال دلفی از کد شما برای بهتر فهمیدن اینجا پلود کنید بینهایت متشکر می شوم.