ورود

View Full Version : فيلتر پيشرفته



Evil 69
سه شنبه 02 مهر 1387, 10:06 صبح
سلام به تمامي دوستان

من مي خام با استفاده از يك رشته كوئري كه توي binding source مي نويسم بانك رو فيلتر كنم و قبلا اين كار رو انجام مي دادم و كار مي كرد البته توي اكسس ولي حالا توي sql خطا مي ده من دستور رو اين طوري مي نويسم

Select * from tblname where fildname like'*"&var&"*'

اما وقتي مي خاد اجرا كنه اين خطا رو ميده
syntax error:operation error after tblname operation

لطفا راهمايي كنيد كه خيلي نياز دارم بهش

در ضمن من از كلاس sqlclint.sqlcommand استفاده نمي كنم و توي متغير فيلتر بيندينگ سورس مي نويسم .

mohsen_zelzela00
سه شنبه 02 مهر 1387, 11:39 صبح
سلام به تمامي دوستان

من مي خام با استفاده از يك رشته كوئري كه توي binding source مي نويسم بانك رو فيلتر كنم و قبلا اين كار رو انجام مي دادم و كار مي كرد البته توي اكسس ولي حالا توي sql خطا مي ده من دستور رو اين طوري مي نويسم


اما وقتي مي خاد اجرا كنه اين خطا رو ميده
syntax error:operation error after tblname operation

لطفا راهمايي كنيد كه خيلي نياز دارم بهش

در ضمن من از كلاس sqlclint.sqlcommand استفاده نمي كنم و توي متغير فيلتر بيندينگ سورس مي نويسم .

اون فیلدی که میخوای براساس اون فیلتر کنی نوعش چی هست

کم حوصله
سه شنبه 02 مهر 1387, 13:22 عصر
سلام
بجای * از % باید استفاده کنی


Select * from tblname where fildname like'%"&var&"%'


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

Evil 69
یک شنبه 07 مهر 1387, 10:53 صبح
ممنون

بجای * از % باید استفاده کنی

از اين دستور معمولا تي اكسس استفاده مي كنن و توي sql از * استفاده مي شه


اون فیلدی که میخوای براساس اون فیلتر کنی نوعش چی هست

از نوع ancichar

در ضمن من نمي دونم چرا اصلا نمي تونم با اين روش فيلتر كنم يعني حتا اگز يك دستور ساده مثل


Bindingsource.filter="select * from tbl1"

رو هم بنويسم باز هم خطا مي ده

arsalansalar
یک شنبه 07 مهر 1387, 11:26 صبح
را از نوع nvarchar استفاده نمکنی؟
فکر کنم این کار و بکنی مشکلت حل میشه.

کم حوصله
دوشنبه 08 مهر 1387, 11:20 صبح
از اين دستور معمولا تي اكسس استفاده مي كنن و توي sql از * استفاده مي شه


سلام
دوست عزیز حداقل تست می کردی بعد حرف میزدی
توي sql از % استفاده مي شه