PDA

View Full Version : جستجوي فارسي



sarbazi
سه شنبه 16 فروردین 1390, 08:34 صبح
سلام دوستان عزيز من يك برنامه نوشتم كه جستجو مي كند ولي هنگامي كه تو كلمات جستجو به "ي" مي رسد آن را نمي تواند پيدا كند فرق هم نمي كند "ي " در اول يا آخر يا وسط حرف باشد پيدا نمي كند چطوري بايد اين مشكل را حل كرد

با تشكر از كليه دوستان

momomomo
سه شنبه 16 فروردین 1390, 10:18 صبح
میشه کد رو بزارید ما هم یه نگاهی بندازیم بلکه چیزی یاد گرفتیم

sarbazi
سه شنبه 16 فروردین 1390, 10:20 صبح
كسي نيست كمكم كنه دوستان

sarbazi
سه شنبه 16 فروردین 1390, 10:27 صبح
sqladap = new SqlDataAdapter("SELECT *FROM kart where lname like '%" + textBox6.Text + "%'", sqlcon);

morteza271
سه شنبه 16 فروردین 1390, 10:31 صبح
من هم این مشکل رو داشتم .
مشکل از اینه که ی در بعضی کیبورد ها کدش فرق میکنه و به همین خاطر در جستجو آورده نمی شود.
به جای حرف ی در جستجو از کلیدهای ترکیبی Shift و x استفاده کن ببین جستجو درست میشه؟
نتیجه رو بگو

javad_r_85
سه شنبه 16 فروردین 1390, 11:09 صبح
غیر حرف ی حرف ک هم همینطوری هست من برای این کار یه کامپوننت تکست باکس نوشتم که این مشکل را حل می کنه کدش را واستون می زارم



protected override void OnKeyPress(System.Windows.Forms.KeyPressEventArgs e)
{
switch ((int)e.KeyChar)
{
case 1603:
e.KeyChar = (char)1705;
break;

case 1610:
e.KeyChar = (char)1740;
break;
}
}

shadi khanum
سه شنبه 16 فروردین 1390, 11:42 صبح
این واسه این که ی و ک فارسی و عربی با هم فرق دارن. من تو برنامه های خودم یه تابع موقع insert یا Update متنی که قرار وارد database بشه رو ی و ک رو تبدیل به ی و ک عربی میکنم و تو دیتابیس ذخیره میکنم و هر موقع بخوام text جستجو کنم هم متن وارد شده واسه جستجو رو اول عربی میکنم ، بعد تو دیتابیس دنبالش میگردم

shadi khanum
سه شنبه 16 فروردین 1390, 11:44 صبح
فارسی:
کد کاراکتر ی : 1740
کد کاراکتر ک:1705

عربی:
کد کاراکتر ی: 1610
کد کاراکتر ک:1603

raha_20
سه شنبه 16 فروردین 1390, 11:59 صبح
sqladap = newSqlDataAdapter("SELECT *FROM kart where lname like N'%" + textBox6.Text + "%'", sqlcon);



اگه به این شکل که N را قبل از فیلدات قراربدی بنویسی مشکلت حل میشه
واسه INSERt و UPDATE هم قبل از کوتیشن این علامت N را قرار بده