PDA

View Full Version : آشکال در دستور dataView.RowFilter



Mojtaba.Kh
پنج شنبه 11 تیر 1388, 09:24 صبح
با سلام خدمت دوستان عزیز
بنده میخواهم با استفاده از دستور dataView.RowFilter با استفاده از نام خانوادگی جستجویی انجام دهم
اما متاسفانه اگر کلمه مورد جستجو حرف "ی" و "ک" داشته باشه نمیتونه فیلتر کنه
برای حل این مشکل باید چیکار کرد؟
بنده از dataView استفاده می کنم
دستورش هم:
dataViewEmployee.RowFilter = ("LName like '" + txtSearchKey.Text + "%'")

Mohsen_Fotouhi
پنج شنبه 11 تیر 1388, 22:35 عصر
سلام دوست عزیر
این روشی رو که می خوام بگم تا حالا توی dataView استفاده نکردم حالا امتحان کن شاید جواب بده
بعد از like قبل ' از حرف N استفاده کن آخر رشته هم یک ' اضافه کن شاید جواب بده اگر جواب داد یک تاپیک بزن منم بدونم موفق باشید مانند زیر

'dataViewEmployee.RowFilter = ("LName like N'" + txtSearchKey.Text + "%'")

hdv212
شنبه 13 تیر 1388, 01:06 صبح
سعی کنید به صورت پارامتریک کوئری بگیرید، اینطوری با باز و بسته کردن پرانتزها، فقط خوانایی کدتون رو پیچیده میکنید، اینطوری بنویسید :

dataViewEmployee.RowFilter = string.Format("LName like '%{0}%'",txtSearchKey.Text);
در ضمن، احتمالا دیتابیس شما اکسس هست، درسته ؟

Mojtaba.Kh
شنبه 13 تیر 1388, 10:45 صبح
سلام دوست عزیر
این روشی رو که می خوام بگم تا حالا توی dataView استفاده نکردم حالا امتحان کن شاید جواب بده
بعد از like قبل ' از حرف N استفاده کن آخر رشته هم یک ' اضافه کن شاید جواب بده اگر جواب داد یک تاپیک بزن منم بدونم موفق باشید مانند زیر

'dataViewEmployee.RowFilter = ("LName like N'" + txtSearchKey.Text + "%'")

دوست من این روش در DataView جواب نمیده اگه راه بهتری پیدا کنید ممنون میشم.

Mojtaba.Kh
شنبه 13 تیر 1388, 10:54 صبح
سعی کنید به صورت پارامتریک کوئری بگیرید، اینطوری با باز و بسته کردن پرانتزها، فقط خوانایی کدتون رو پیچیده میکنید، اینطوری بنویسید :

dataViewEmployee.RowFilter = string.Format("LName like '%{0}%'",txtSearchKey.Text);
در ضمن، احتمالا دیتابیس شما اکسس هست، درسته ؟

متشکرم از راهنمایی شما
اما بنده مشکلم هنوز پابرجاست
خیر اس کیو ال 2005

Mojtaba.Kh
یک شنبه 14 تیر 1388, 08:42 صبح
دوستان مشکلم حل شد
با یه تابع تمام کاراکترهای "ی" و "ک" موجود در txtSearchKey رو با کاراکترهای معادلشون در اس کیو ال جایگزین کردم و دیدم که درست کار میکنه

hossein_p30
پنج شنبه 01 مرداد 1388, 11:39 صبح
دوستان مشکلم حل شد
با یه تابع تمام کاراکترهای "ی" و "ک" موجود در txtSearchKey رو با کاراکترهای معادلشون در اس کیو ال جایگزین کردم و دیدم که درست کار میکنه

سلام
کد رو اینجا بذار. منم بهش احتیاج دارم.
مرسی

mehdis2
جمعه 02 مرداد 1388, 16:08 عصر
كسي نميتونه بيشتر توضيح بده؟

parantezbaz
یک شنبه 04 مرداد 1388, 02:18 صبح
كسي نميتونه بيشتر توضيح بده؟
سلام.
شاید به خاطر اینه که "ی" و" ک" توی پایگاه داده با اونی که توی فرم می نویسید فرق می کند. یعنی مثلا توی پایگاه داده با "ی" و "ک" عربی ذخیره شده ولی الان شما دارید با "ی" و "ک" فارسی جستجو می کنید. می تونید فایل کیبوردتون رو عوض کنید.

parantezbaz
یک شنبه 04 مرداد 1388, 02:23 صبح
این لینک شاید بتونه کمکتون کنه.
http://vahidnasiri.blogspot.com/2009/01/blog-post_13.html