View Full Version : انتخاب فیلد با کلیک روی dbgrid
tefos666
پنج شنبه 08 فروردین 1387, 10:42 صبح
سلام دوستان
یک سوال :
دوستان من یک dbgrid دارم توش یکسری فیلد هستش خاصیت اون رو فعال کردم که با کلیک
روی یک فیلد تمام اون انتخاب میشه حالا من میخوام رو هر سطر که کلیک کردم اطلاعاتش رو تو چندتا متغیر بریزم تا استفاده کنم ؟؟؟؟؟؟؟؟
نکته دوم :
چجوری میتونم بفهمم وقتی جستجو میکنم نتیجه اون true یا false با استفاده از dbgrid
یعنی اطلاعات تو اون نمایش داده میشه یا نه ؟؟
با recordcount میشه فهمید ؟
dkhatibi
پنج شنبه 08 فروردین 1387, 16:49 عصر
خاصیت OnTitleClick دبیگرید برای همین منظور هست.
SYNDROME
پنج شنبه 08 فروردین 1387, 17:41 عصر
برای خواندن فیلدهای یک رکورد از
ADO.FieldByName('FieldName').asstring
استفاده کنید.
برای نتیجه جستجو هم می توانید
ADO.IsEmpty
استفاده کنید.اگر True بود یعنی هیچ مقداری پیدا نشده است.
موفق باشید
dana74
جمعه 09 فروردین 1387, 17:03 عصر
سلام دوستان
نکته دوم :
چجوری میتونم بفهمم وقتی جستجو میکنم نتیجه اون true یا false با استفاده از dbgrid
یعنی اطلاعات تو اون نمایش داده میشه یا نه ؟؟
با recordcount میشه فهمید ؟
آره :
if dbgrid.datasource.dataset.recordcount > 0 then
همچنین میتونی از این کد هم استفاده کنی:
if ado.bof<>ado.eof then
که شرطهای فوق در صورتی درستند که نتیجه جستجو تهی نباشه.
dkhatibi
جمعه 09 فروردین 1387, 19:15 عصر
ببخشید جوابتون ربطی به این سوال داره یا...؟
hadisalahi2
سه شنبه 13 فروردین 1387, 17:59 عصر
دوست عزیز اگه با دستورات SQL آشنایی داشته باشی و بتوانی با کنترل ADOQuery کار کنی این کارهایی که میخوای انجام بدی خیلی ساده است .
1- ابتدا یک کنترل ADOQuery روی فرم بذارید.
2- در رویداد یک دکمه کدهای زیر رو بنویسید.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx
Adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.text:='select * from table 1 where code=@a';
adoquery1.parameters.parametrbyname('a').value:=ed it1.text;
adoquery1.avtive:=True;
If adoquery1['code']=Null then showmessage('Record Not Found');
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx
3- این دستورات براتون مشخص میکنه که اگه خروجی یه فیلد کوئری Null باشه یعنی اطلاعاتی واسه اون رکورد پیدا نشده و رکورد مورد نظر شما پیدا نشده .
4- حالا اگه میخوای اطلاعات یه سطر رو توی متغیرها بریزی دستورات زیر رو استفاده کن:
var
code:integer;
begin
code:=ADOQuery['code'];
end
5-واسه بقیه فیلد ها هم مینونی همین کار رو انجام بدی.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.