PDA

View Full Version : فیلتر کردن فیلد های عددی در ADOQuery



mojtaba_z
دوشنبه 26 فروردین 1387, 09:27 صبح
سلام
در ADOQuery برای فیلتر کردن فیلد های رشته ای از دستور زیر استفاده میکنم :

AdoQuery1.Filter := 'Name Like ' + QuotedStr('%Ali%')
که تمامی مقادیری که نام آنها شامل کلمه Ali میشه رو برمیگردونه.

حالا میخوام از همین دستور برای فیلتر کردن فیلد های عددی استفاده کنم:

AdoQuery1.Filter := 'Price Like ' + '%555%'
یعنی میخوام تمامی مقدیر موجود در فیلد Price که مقدار عددی آن شامل 555 میشه رو برگردونه. مثلا مقادیر : 555 , 13555624 , 555555 , 155501 , ...

hr110
دوشنبه 26 فروردین 1387, 09:57 صبح
این شکلی ممکن نیست، برای اینطور کارها بهتره که از ADOQuery استفاده کنید/

/ضمناً جای این سوال در بخش عمومی دلفی نیست/

dkhatibi
دوشنبه 26 فروردین 1387, 10:43 صبح
شاید بتونید از تابع تبدیل نوع در SQL استفاده نمایید. موقع فیلتر کردن نوع متغیر را به رشته تبدیل نمایید.

Vahid_moghaddam
دوشنبه 26 فروردین 1387, 11:46 صبح
select id from sms_competitors
where str(id,6,0) like '%495%'


برای تابع str به Transcat-sql help در qa مراجعه کنید. به string functions

موفق باشید

hr110
دوشنبه 26 فروردین 1387, 13:48 عصر
شاید بتونید از تابع تبدیل نوع در SQL استفاده نمایید. موقع فیلتر کردن نوع متغیر را به رشته تبدیل نمایید.

این کار عملی نیست، متاسفانه filter در دلفی موارد بسیار کمی از دستورات رو پشتیبانی میکنه!