PDA

View Full Version : جستجوی بخشی از اسم فارسی در یک جدول



vahid80
پنج شنبه 24 شهریور 1384, 02:50 صبح
من می‎حواهم در یک فیلد name که شامل اسمهای فارسی است رکوردهایی که مثلا شامل "بخ" است را پیدا کنم ولی با استفاده از دستور زیر گاهی جستجو درست انجام می‎شود گاهی غلط. درصورتیکه در فیلدهای انگلیسی چنین مشکلی وجود ندارد.
select * from tab2 where name ('*"&trim(text) & "*') order by name
در جستجوی مثلا احسان ها اگر عبارت احس نوشته شود نتیجه غلط است ولی اگر احسا بنویسیم نتیجه درست می‎شود.
لطفا راهنمایی بفرمایید. با تشکر

dr_g
پنج شنبه 24 شهریور 1384, 11:19 صبح
با سلام
select * from tab2 where name like'" & text & "%'" order by name

vb341
جمعه 25 شهریور 1384, 10:01 صبح
آق وحید دستورت اشتباهه . از دستور dr_G استفاده کن . چون حتما باید like رو به همراه علامت % بکار ببری

vahid80
شنبه 26 شهریور 1384, 17:13 عصر
با تشکر از پاسخهای شما. این دستور فوق کار نمی‎کند و من در MSDN هم نگاه کردم، نوشته بود دستور LIKE در SQL استثنا است و فرم آن را هم بصورت بالا نوشته بود یعنی با * بجای % و من در کار با فیلدهای انگلیسی هیچ مشکلی ندارم و کاملا درست کار می‎کند ولی در موارد فیلدهای فارسی مشکل بالا پیش می‎آید.
با تشکر

Navid7h
شنبه 26 شهریور 1384, 17:24 عصر
به این پستها هم سری یه نگاهی بیاندازید
http://www.barnamenevis.org/forum/showthread.php?t=28187
http://www.barnamenevis.org/forum/showthread.php?t=27141

Navid7h
شنبه 26 شهریور 1384, 19:29 عصر
آدرسهای بالا رو درست کردم وحید جان

ehsan_ansaripoor
یک شنبه 27 شهریور 1384, 00:16 صبح
دوست عزیز اگر از بانک اطلاعاتی Access97 استفاده می کنی ابتدا باید فایل Mdb تبدیل به Med کنی با استفاده از Access97 و بعد فایل Mde را پسوندش را Mdb کنی شاید عجیب غریب باشه ولی منم این مشکل را داشتم البته این مشکل هم در جستجو هست و هم در Sort کردن