PDA

View Full Version : سوال: مشکل با جستجو در دیتابیس اکسس به صورت یونیکد



mojtaba-saleh
چهارشنبه 15 آبان 1387, 23:56 عصر
سلام
من برای یه پروژه مجبورم از دیتابیس اکسس استفاده کنم
برنامه , برنامه ی جستجو در مقالات هست. من از DataReader برای ارتباط با دیتابیس استفاده کردم.
طبق این کد



command.CommandText = "Select * From Articles Where Subject Like '%[" & EditBox1.Text& "]%'"


من جستجو رو انجا میدم , تا وقتی [ و ] رو اطراف متن یونیکدم نذارم , جستجو کلا Resulte بهم نمی ده اما بعد از گذاشتن اونها وقتی یک کلمه رو وارد کنم هر رکوردی که حتی یکی از حرف هاش توی کلمه مورد جستجوی من قرار داره رو خروجی میده :گریه:
مثلا دو تا جمله مثل زیر داریم
امروز هوا خوبه
دیروز رفتم دانشگاه

حالا کلمه مورد جستجوی من "دیوار" هست , چون حرف "ی" توی جمله دوم هست , اون رو هم خروجی میده , در صورتی که من اینجا انتظار خروجی خالی رو دارم.

ممنون می شم کمکم کنید

mojtaba-saleh
پنج شنبه 16 آبان 1387, 00:56 صبح
توی جستجوی انگلیسی تا وقتی که [ و ] هست اون هم قاطی میکنه ولی وقطی برشون میدارم درست میشه

mojtaba-saleh
پنج شنبه 16 آبان 1387, 13:36 عصر
بالاخره فهمیدم مشکل از چیه :لبخند:, گفتم برای دوستان هم بگم اگه به این مشکل بر خوردند , مشکلشون حل بشه.
از دیشب تا امروز کاملا داشتم به این کد ها ور می رفتم , توی این کاوشات پی بردم وقتی کلمه ی فارسی ما حرف "ی" یا حرف "ک" داشته باشه به صورت معمولی (بدون براکت [] ) جستجو انجام نمی ده , براکت ها هم که می اومد , جستجو به صورت حرف به حرف میشد و کار خراب می شد.
من توی اکسس دیدم حرف "ی" به صورت "ي" نمايش میده :اشتباه:
همچنین حرف "ک" رو به صورت "ك" نمايش میده :اشتباه:

من هم نتیجتا یک Replace براي تكست باكسم گذاشتم و این ها رو به هم تبدیل کردم , مثل زیر:


TextBox1.Text = TextBox1.Text.Replace("ی", "ي")
TextBox1.Text = TextBox1.Text.Replace("ک", "ك")