PDA

View Full Version : مشکل جست و جو ی کلماتی دارای حرف "ی" در پایگاه داده



s4lish
یک شنبه 24 دی 1391, 15:16 عصر
با سلام.. یک مشکلی پیش اومده برام.قبلا این مشکل نبود الان واسم خیلی عجبیبه.
من یه تکست باکس درست کردم که توش هر کلمه ای که بنویسیم با توجه به خاصیت TextChanged تکست باکس کل ستون های جدول رو جست و جو میکنه و اگر ردیف یا ردیفهایی با مقدار مورد نظر رو پیدا کرد توی گرید مورد نظر پر کنه.
متاسفانه الان کلماتی که دارای حروف ی هستن رو پیدا نمیکنه حتی بصورت Ctrl + X هم حرف ی رو وارد کردم ولی عمل نکرد.ببخشید امروز خیلی سوال کردم کوپنم تموم شده شرمنده دیگه

nima.sh
یک شنبه 24 دی 1391, 16:05 عصر
سلام دوست عزیز....
اول اینکه شما باید دیتابیس رو،رو زبان فارسی تنظیم کنی،از این طریق:رو دیتابیس کلیک راست کن،properties،بعد گزینه option رو بزن،از collation گزینه persian 100_cl_al رو انتخاب کن...
برای هر دستور سرچ بعد مساوی N رو بذار مثل:
select id from customer where name=N 'ali'
موفق باشی....

s4lish
یک شنبه 24 دی 1391, 16:39 عصر
ببخشید دوست عزیز بنده از SQL EXPRESS خود ویژوال استفاده میکنم. این مسیری که گفتید نبود.فکر کنم برای SQL server بود که شما فرمودی


تصحیح :

مشکلم با گذاشتن حرف بزرگ N رفع شد.. خیلی واسم عجیب بود.. دقیقا دلیلش چی بود میشه توضیح بدید ؟؟

vaheeed
دوشنبه 25 دی 1391, 07:34 صبح
منم همین مشکل رو داشتم البته تو sql server و مشکل این بود که داخل پایگاه داداه حرف "ی" به صورت حرف "ی" ( که زیرش دو تا نقطه داره ) ذخیره میشه ولی داخل تکس باکس حرف "ی" به همین صورت وارد میشه خوب این دو تا یکی نیستن من مشکلم رو اینجوری حل کردم که ی رو به اون صورتی که داخل دیتابیس ذخیره میشد سرچ کردم ، ولی با راهنما دوستمون مشکل منم حل میشه فکر کنم ، فقط میشه بگید حرف N دقیقا چیکار میکنه ؟؟

group45
دوشنبه 25 دی 1391, 08:13 صبح
فقط میشه بگید حرف N دقیقا چیکار میکنه ؟؟
با سلام
برای اینکه به sql بفهمونیم (بچه است دیگه نمی فهمه) این متنی که الان دارم مینویسم از نوع unicode هست از این N استفاده میشه.
پس به طور کل برای سرچ و حزف و درج و ویرایش در دیتابیس قبل کلمه یا متن فارسی برای فهموندن فارسی بودن متنموم از این N استفاده میکنیم

hamedAdmin
دوشنبه 25 دی 1391, 10:24 صبح
سلام
البته همه جوابها تا حدودی درسته؛ N هم مخفف کلمه National هستش.و من شخصا همیشه و در هر حال قبل از کوتیشن استفاده اش میکنم چه با حروف فارسی و چه نه!
اما واقعا و در سطح عام روی تمام سیستمها مشکل شما دوست عزیز حل نشده؛ یه روشی که من خودم تجربه کردم اینه که حروفی مثل "ی" و" ک " رو توی یه فانکشن قبل از ورود به دیتا بیس چک کنید تا "ي" و ک با همزه (که الان یادم نیست کجای صفحه کلیده) نباشه و قبل از ورود این حروف (که تو صفحه کلید برای زبان عربی متفاوت فرض شدن) جایگزین بشه.یعنی مثلا "ي" با "ی" جایگزین بشه.
این کار رو میتونی با داشتن کد حروف فارسی انجام بدی.
دوم اینکه فکر کنم بهتره از sql خود استودیو استفاده نکنی تا بتونی مفهوم تجرد و برنامه لایه ای و.... رو بهتر متوجه بشی.

s4lish
دوشنبه 25 دی 1391, 15:17 عصر
ممنون از همه دوستان جواب های کاملی بود. آقای hamedAdmin (http://barnamenevis.org/member.php?277717-hamedAdmin) ممنون از راهنمایی خوبتون.. منم کلا از sql server استفاده میکنم ولی این سری چون میخوام یه برنامه بصورت پرتابل درست کنم و اینکه
تنها از این طریق به ذهنم رسید که میتونم برناممو رو فلش با پایگاه دادش داشته باشم از این جهته.