نمایش نتایج 1 تا 8 از 8

نام تاپیک: مشکل جستجو (فیلتر) دیتاتیبل با حرف (ی)فارسی

  1. #1
    کاربر دائمی آواتار mahtab.kamali
    تاریخ عضویت
    دی 1391
    محل زندگی
    زیر گنبد کبود
    پست
    117

    مشکل جستجو (فیلتر) دیتاتیبل با حرف (ی)فارسی

    باسلام

    دیتاتیبلی داریم که از یک جدول در sql پر می شه و بخاطر یک سری ملاحضات قصد داریم این اطلاعات را درون datatable فیلتر کنیم

    و از این دستور استفاده می کنم :

    DataTable.Select("names like  '%" TextBox2.Text  "%'")

    همه چیز خوب پیش می ره تا زمانی که می رسیم به حرف ( ی ) فارسی ،

    وموقعیکه این حرف در تکست باکس مربوط به جستجو نوشته می شه دیگه هیچ ردیفی نمایش داده نمی شه

    در کوئری با قراردادن حرف انگلیسی (N) در ابتدای فیلد مورد جستجو مشکل حل می شد:

    SELECT FROM  Students WHERE LastName LIKE N"%'+Nmae+'%"

    اما در جستجو در داخل دیتاتیبل جواب نمی ده
    آیا راه حلی به ذهنتون می رسه ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

  2. #2

    نقل قول: مشکل جستجو (فیلتر)دیتاتیبل با حرف (ی)فارسی

    من از این دستور جستجو استفاده میکنم تو فرم تو حروف فارسی قشنگ جواب میگیرم.
     switch (comboBox1.Text)
    {
    case "نام":
    {
    query = "select * from Table1 where name like N'%" + textBox1.Text + "%'";
    break;
    }
    case "نام خانوادگی":
    {
    query = "select * from Table1 where last like N'%" + textBox1.Text + "%'";
    break;
    }
    case "سال":
    {
    query = "select * from Table1 where convert(varchar,year) like N'%" + textBox1.Text + "%'";
    break;
    }
    default: { break; }

    ولی تا حالا داخل dataset امکتحان نکردم و چون موقع جستجو با این حروف "ی" با مشکل بر خورد میکنید چون در لغت عربی موجود نیست عمل جستجو رو انجام نمیده.

  3. #3
    کاربر دائمی آواتار mahtab.kamali
    تاریخ عضویت
    دی 1391
    محل زندگی
    زیر گنبد کبود
    پست
    117

    نقل قول: مشکل جستجو (فیلتر)دیتاتیبل با حرف (ی)فارسی

    اساتید پیشنهادی ندارند ؟؟؟؟؟؟

  4. #4
    کاربر دائمی آواتار alireza264
    تاریخ عضویت
    تیر 1390
    محل زندگی
    تهران
    پست
    264

    نقل قول: مشکل جستجو (فیلتر)دیتاتیبل با حرف (ی)فارسی

    سلام
    دلیل این مشکل اینه که حرف ی بصورت عربی ي (Shift + x) در دیتابیس ثبت میشه . راه حلش هم اینه که موقع جستجو چک کنی وقتی حرف ی زده شد بجاش ي رو به متن مورد نظرت اضافه کنه مثلا بجای کلمه علی کلمه علي تولید بشه

  5. #5
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,181

    نقل قول: مشکل جستجو (فیلتر)دیتاتیبل با حرف (ی)فارسی

    حروف ی و ک هردوشون مشکل دارند زمانیکه ی و ک بصورت عربی هستند
    بهنره ابتدا تبدیل به معادل فارسی شده و توی دیتابیس ذخیره کنید

    public ToFarsiChar(string str)
    {
    return str.Replace("ی", "ی").Replace("ک", "ک");
    }


    ی اولی میشه عربی و ی دومی میشه فارسی
    اگر توی کنترل پنل زبان ویندوز یا یونی کد رو به عربی تغییر بدید میتونید ی عربی رو جایگذین گنید تا صحیح تر بشه ی عربی دوتا نقطه زیرش هست
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 07 مرداد 1394 در 02:24 صبح

  6. #6
    کاربر دائمی آواتار mahtab.kamali
    تاریخ عضویت
    دی 1391
    محل زندگی
    زیر گنبد کبود
    پست
    117

    نقل قول: مشکل جستجو (فیلتر)دیتاتیبل با حرف (ی)فارسی

    نقل قول نوشته شده توسط ali_md110 مشاهده تاپیک
    حروف ی و ک هردوشون مشکل دارند زمانیکه ی و ک بصورت عربی هستند
    بهنره ابتدا تبدیل به معادل فارسی شده و توی دیتابیس ذخیره کنید

    public ToFarsiChar(string str)
    {
    return str.Replace("ی", "ی").Replace("ک", "ک");

    }


    ی اولی میشه عربی و ی دومی میشه فارسی
    اگر توی کنترل پنل زبان ویندوز یا یونی کد رو به عربی تغییر بدید میتونید ی عربی رو جایگذین گنید تا صحیح تر بشه ی عربی دوتا نقطه زیرش هست

    ممنون از پاسختون
    من از این ترفند استفاده کرده بودم :
    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
    if (e.KeyChar.ToString() == "ی")
    {
    e.KeyChar = Convert.ToChar("ي");
    }
    }

    فقط یه مشکلی هست اونهم اینه که جستجوی ما چند وجهی است یعنی با استفاده از یک سویچ می خواهیم کاری کنیم که از یک کادر متن بشه از چند تا جدول جستجو کرد
    و بنابراین مشکل یاد شده تنها در یک جدول پیش میاد و بقیه جداول که مشکلی با حرف ی ندارند این بار دچار مشکل می شن

    من خواستم در سمت سرور این کوئری رو اجرا کنم تا همه ( ي )های عربی رو به ی فارسی تبدیل کنم کوئری اجرا می شه اما چیزی تغییر نمی کنه :

    update [dbwanta].[dbo].[Courses] set [Name] = Replace([Name],'ي','ی')


    به نظرتون چطور می شه تمام اون ی ها رو به فارسی برگردوند؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟

  7. #7
    کاربر دائمی آواتار mahtab.kamali
    تاریخ عضویت
    دی 1391
    محل زندگی
    زیر گنبد کبود
    پست
    117

    نقل قول: مشکل جستجو (فیلتر)دیتاتیبل با حرف (ی)فارسی

    ویا اینکه می شه کاری کرد تا این کد بجای اینکه دررویداد KeyPress کادر متن باشه ، تبدیلش کنیم به یه متد که هر موقع لازم داشتیم ازش استفاده کنیم

    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
    if (e.KeyChar.ToString() == "ی")
    {
    e.KeyChar = Convert.ToChar("ي");
    }
    }

  8. #8
    کاربر دائمی آواتار mahtab.kamali
    تاریخ عضویت
    دی 1391
    محل زندگی
    زیر گنبد کبود
    پست
    117

    نقل قول: مشکل جستجو (فیلتر)دیتاتیبل با حرف (ی)فارسی

    نقل قول نوشته شده توسط ali_md110 مشاهده تاپیک
    حروف ی و ک هردوشون مشکل دارند زمانیکه ی و ک بصورت عربی هستند
    بهنره ابتدا تبدیل به معادل فارسی شده و توی دیتابیس ذخیره کنید

    public ToFarsiChar(string str)
    {
    return str.Replace("ی", "ی").Replace("ک", "ک");

    }


    ی اولی میشه عربی و ی دومی میشه فارسی
    اگر توی کنترل پنل زبان ویندوز یا یونی کد رو به عربی تغییر بدید میتونید ی عربی رو جایگذین گنید تا صحیح تر بشه ی عربی دوتا نقطه زیرش هست

    ممنون علی آقا جواب داد
    به این شکل نوشتم :
    recipe.DefaultView.RowFilter = string.Format(@"[_RowString] like '%" + ToFarsiChar(textBox1.Text )+ "%' ");


    هورااا ممنونم از همتون درس شدددددددددددددددددددددددد ددددددددددددددددددددددددد دددددددددد
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 07 مرداد 1394 در 02:25 صبح

تاپیک های مشابه

  1. مبتدی: مشکل جستجو با حرف ي
    نوشته شده توسط kh1387 در بخش SQL Server
    پاسخ: 7
    آخرین پست: سه شنبه 01 تیر 1389, 20:24 عصر
  2. مشکل جستجو در کد نویسی با حرف (ی)
    نوشته شده توسط nilmil_nil در بخش C#‎‎
    پاسخ: 17
    آخرین پست: دوشنبه 16 فروردین 1389, 11:28 صبح
  3. مشکل جستجو در جدول با حرف "ک"
    نوشته شده توسط kama2222 در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 8
    آخرین پست: چهارشنبه 26 فروردین 1388, 01:20 صبح
  4. مشکل جستجو به روش فیلتر
    نوشته شده توسط DelphiFriend در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 2
    آخرین پست: دوشنبه 12 اسفند 1387, 17:54 عصر

قوانین ایجاد تاپیک در تالار

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