View Full Version : جستجو در dbgrid
shining_eye
شنبه 13 شهریور 1389, 12:11 عصر
سلام
من قبلا یه فرمی رو طراحی کرده بودم (پایگاه داده ام sqlserver2000و زبانشم delphi7)که در اون حذف و درج وویرایش و جستجو (توی یه dbgrid ) انجام میدادم الان یه فرم جدید طراحی کردم عین همون ولی جستجو هاش کار نمی کنه دلیلش چی میتونه باشه برای جستجو از این کد استفاده می کنم
AdoTable1.Locate('state_name',VarArrayOf([edit2.text]),[])
pezhvakco
شنبه 13 شهریور 1389, 13:05 عصر
جستجو همیشه در بانک اطلاعاتی است و نه جدول (dbgrid) .
کد دستور رو به صورت ساده بنویس >
Table1.Locate('Name',Edit1.Text,[]);کار نمیکنه یعنی چی ؟
خطا میده یا ردیف اشتباه رو انتخاب میکنه .
shining_eye
یک شنبه 14 شهریور 1389, 14:14 عصر
من اگر بخوام تو dbgrid بعد از این که جستجو کردم (روی همون dbgrid قبلی ) فقط رکوردهایی که سرچ کردم رو نشون بده چه کدی باید بزارم؟
Felony
یک شنبه 14 شهریور 1389, 14:48 عصر
من اگر بخوام تو dbgrid بعد از این که جستجو کردم (روی همون dbgrid قبلی ) فقط رکوردهایی که سرچ کردم رو نشون بده چه کدی باید بزارم؟
وقتی تو یه ADOTable یا ADOQuery جست و جو میکنید Datasource هایی که به این اشیاء متصل هستن این اشیاء رو منبع خودشون میدونن و تغییرات رو نمایش میدن ( DBGrid شما هم از یک Datasource تغذیه میشه ) پس به صورت خودکار نتیجه جست و جو شما در DBGrid نمایش داده میشه .
shining_eye
دوشنبه 15 شهریور 1389, 08:58 صبح
بله می دونم نشون میده ولی کل dbgridرو نشون میده و رکوردی که search کردیم آبی میشه
من نمی خوام(بعد search) همه dbgridرو بیاره می خوام فقط رکوردی که پیدا کرده رو نشون بده.تنها یعنی dbgridمن یک رکور داشته باشه.(در ضمن فقط یه dbgrid رو صفحه میخوام باشه)حالا نمی دونم باید مثلا
وقتی search کرد رکوردها رو پاک کنه و فقط اون رکورد رو نگه داره یا نهباید یه dbgrid دیگه بزارم و وقتی اجرا می کنم برنامه رو اون یکی dbgridرو hideکنم.؟؟
pezhvakco
دوشنبه 15 شهریور 1389, 09:39 صبح
من نمی خوام(بعد search) همه dbgridرو بیاره می خوام فقط رکوردی که پیدا کرده رو نشون بده
برای این کار باید اطلاعات رو بر اساس شرط، فیلتر کنین و نه این که جستجو کنین .
AmirSky
دوشنبه 15 شهریور 1389, 11:07 صبح
میشه رکورد ها رو فیلتر کرد
یا خیلی بهتره از خود دستورات SQL استفاده کنی . به این شکل نتیجه خیلی بهتری میگری
Select * FROM Table1 WHERE state_name = X
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.