ورود

View Full Version : سوال در مورد فیلتر كردنی نوع اشیا



akar_program
جمعه 10 تیر 1390, 17:29 عصر
سلام دوستان من یك دیتابیس دارم كه‌ جند تا فیلد دارد كاملا بادلفی وصل كردم یك دگمه‌ و یك edit در برنامه‌ دارم میخواهم مسلن من توی ایدیت باكس بنویسم علی در dbgrid تمام نامها كه‌ در دیتا بیس ازفیلد name ایسمشون علی هست نیشون بده‌ میسلی ان كه‌ در اكسس اكویری مینویسم like "علی"
ولی میخواهم دستی بنویسم نه‌ از یك كویری تو اكسس نویشتم ایستفاده‌ كنم اومیده‌ وارم منوظور رسونده‌ باشم

سعید صابری
جمعه 10 تیر 1390, 20:43 عصر
در دلفی هم می تونی از همون دستورات استفاده کنی با استفاده از adoquery

akar_program
جمعه 10 تیر 1390, 21:42 عصر
در دلفی هم می تونی از همون دستورات استفاده کنی با استفاده از adoquery
با سلام میشه‌ میسال بزنید

akar_program
یک شنبه 12 تیر 1390, 23:39 عصر
كسی میتواند در این زمینه‌ یك میسال بسازد ؟ ممنون میشم

Mahmood_M
چهارشنبه 15 تیر 1390, 13:05 عصر
شما دو راه برای این کار دارید ، هم می تونید از خاصیت Filter مربوط به ADOTable استفاده کنید ، هم می تونید از یک ADOQuery استفاده کنید و با دستورات SQL بانک رو فیلتر کنید

مثالی از خاصیت Filter


ADOTable.Filter := 'Name LIKE '+QuotedStr('%'+NameEdit.Text+'%');
ADOTable.Filtered := True;

مثالی از ADOQuery


ADOQuery.Close;
ADOQuery.SQL.Text := 'SELECT * FROM MaTable WHERE Name LIKE ' + QuotedStr('%'+NameEdit.Text+'%');
ADOQuery.Open;

دستور QuotedStr یک String رو می گیره و اون رو درون علامت " نقل قول " قرار میده

موفق باشید ...

akar_program
سه شنبه 04 مرداد 1390, 19:38 عصر
باسلام یك مشكیل دارد برای من من میخواهم از اول هر كاراكتر ی فیلد سرچ كند یانی اگر من بنویسم ( ع ) قط اون نامها فیلتر كند كه‌ اولین حرفشون ع هست یانی نره‌ توی تمام كاراكترهای فیلد بگرده‌ پیدا كنه‌و فیلدتر كند مسلن اگر نویشتم علی تمام علی های كه‌ اولین هست نیشون بده‌ نه‌ انكه‌ مسلن یكی نا دوومش علی بون نیشون بده‌
مسلن من دو نام دارم با این شكل
علی محمد
رضا علی

اگر من علی رو در نظر بگیرم برای فلتر كردن تنها بیاد همون علی محمد نیشون بده‌ یانی كاری با رضا علی نداشته‌ باشد خیلی ممنون زود جواب بدید

سعید صابری
سه شنبه 04 مرداد 1390, 21:09 عصر
QuotedStr('%'+NameEdit.Text+'%');

اون % اولی را بردار




QuotedStr(NameEdit.Text+'%');