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

نام تاپیک: درخواست کد جستجو دقیق تر برای سی شارپ

  1. #1
    کاربر دائمی
    تاریخ عضویت
    تیر 1393
    پست
    161
    تشکر کردن
    1
    4 بار تشکر شده در 4 پست

    درخواست کد جستجو دقیق تر برای سی شارپ

    سلام بچه ها من یه برنامه نوشتم که قسمت مهم این برنامه جستجو است !
    کد جستجو من اینه :

    SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=adel;Integrated Security=True");
    DataSet ds = new DataSet();
    SqlDataAdapter da = new SqlDataAdapter("select * from kharid where name like @n", con);
    da.SelectCommand.Parameters.AddWithValue("@n", textBox13.Text + "%");
    da.Fill(ds, "t1");
    dataGridView1.DataSource = ds;
    dataGridView1.DataMember = "t1";


    جستجو هم انجام میده و درون دیتاگریدویو نمایش میده ، ولی دقیق نیست ! بعضی وقت ها درست جستجو نمیکنه یا کالای مورد نظر که تایپ میکنم جستجوش نمیکنه و پیدا نمیکنه و....
    خلاصه دقیق نیست !
    میخاستم ببنیم کسی کد جستجو دیگه ای داره که قوی تر و دقیق تر باشه ؟
    تشکر

  2. #2
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,411
    تشکر کردن
    330
    345 بار تشکر شده در 315 پست

    نقل قول: درخواست کد جستجو دقیق تر برای سی شارپ

    سلام. اینجوری بنویسید ببنید مد نظرتون هست یا نه. عمگر لایک مشابه رو میاره. مخصوصا که شما علامت درصد رو انتها گذاشتید فقط کلماتی رو پیدا میکنه که اول اسمشون شبیه باشه.برا نتایج بیشتر یه درصد هم به اول اضافه کنیم.

    SqlDataAdapter da = newSqlDataAdapter("select * from kharid where name like @n", con);
    da.SelectCommand.Parameters.AddWithValue("@n", "N'%"+textBox13.Text + "'%");


  3. #3
    کاربر دائمی
    تاریخ عضویت
    تیر 1393
    پست
    161
    تشکر کردن
    1
    4 بار تشکر شده در 4 پست

    نقل قول: درخواست کد جستجو دقیق تر برای سی شارپ

    نقل قول نوشته شده توسط رامین مرادی مشاهده تاپیک
    سلام. اینجوری بنویسید ببنید مد نظرتون هست یا نه. عمگر لایک مشابه رو میاره. مخصوصا که شما علامت درصد رو انتها گذاشتید فقط کلماتی رو پیدا میکنه که اول اسمشون شبیه باشه.برا نتایج بیشتر یه درصد هم به اول اضافه کنیم.

    SqlDataAdapter da = newSqlDataAdapter("select * from kharid where name like @n", con);
    da.SelectCommand.Parameters.AddWithValue("@n", "N'%"+textBox13.Text + "'%");

    بجز like چه چیزی میشه گذاشت که قوی تر و دقیق تر باشه؟

  4. #4
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,411
    تشکر کردن
    330
    345 بار تشکر شده در 315 پست

    نقل قول: درخواست کد جستجو دقیق تر برای سی شارپ

    = باید بزارید. اونموقع نمیتونید از % استفاده کنید. و عین کلمه ای که تایپ میکنید براتون میاره

  5. #5
    کاربر دائمی آواتار mr.sirwan
    تاریخ عضویت
    مهر 1394
    محل زندگی
    سردشت
    پست
    410
    تشکر کردن
    81
    178 بار تشکر شده در 160 پست

    نقل قول: درخواست کد جستجو دقیق تر برای سی شارپ

    با توجه به اینکه کوئری دوستمون اغای مرادی انگار بازم براتون مورد انتظار کار نکرده و همچنان دنبال کوئری (به قول خودتون قوی) دیگه ای میگردین (غیر از like با دوتا علامت درصد دیگه کوئری سرچ دیگه ای وجود نداره، مگر همون عملگر تساوی)، بنده احتمال میدم شما با حروف ی و ک داخل کلمات ثبت شده در دیتابیس مشکل دارین که ممکنه هنوز خودتون بهش نرسیده باشید

    درصورتی که حدس بنده درست باشه، درمورد حروف ک و ی عربی در sql جستجو کنین

  6. #6
    کاربر دائمی
    تاریخ عضویت
    تیر 1393
    پست
    161
    تشکر کردن
    1
    4 بار تشکر شده در 4 پست

    نقل قول: درخواست کد جستجو دقیق تر برای سی شارپ

    نقل قول نوشته شده توسط mr.sirwan مشاهده تاپیک
    با توجه به اینکه کوئری دوستمون اغای مرادی انگار بازم براتون مورد انتظار کار نکرده و همچنان دنبال کوئری (به قول خودتون قوی) دیگه ای میگردین (غیر از like با دوتا علامت درصد دیگه کوئری سرچ دیگه ای وجود نداره، مگر همون عملگر تساوی)، بنده احتمال میدم شما با حروف ی و ک داخل کلمات ثبت شده در دیتابیس مشکل دارین که ممکنه هنوز خودتون بهش نرسیده باشید

    درصورتی که حدس بنده درست باشه، درمورد حروف ک و ی عربی در sql جستجو کنین
    عالی بود دوست عزیز واقعا ممنونممممممممم
    مشکل همون ی و ک بود ! که با یدونه اسکریپت همه ی و ک های دیتابیس رو به فارسی تبدیل کردم !

    ولی الان مشکلی که دارم اینه که جالب نیست من به کاربر بگم هربار اسکریپت رو باز کن تا تبدیل کنه بعد جستجو کن !

    راهی هست که همون اول که کاربر میخاد داده هاشو ثبت کنه فارسی ثبت شه ! یا همون اول اتوماتیک خودش تبدیلش کنه به فارسی بعد ثبت شه ؟!

  7. #7
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,411
    تشکر کردن
    330
    345 بار تشکر شده در 315 پست

    نقل قول: درخواست کد جستجو دقیق تر برای سی شارپ

    نقل قول نوشته شده توسط pure_love مشاهده تاپیک
    عالی بود دوست عزیز واقعا ممنونممممممممم
    مشکل همون ی و ک بود ! که با یدونه اسکریپت همه ی و ک های دیتابیس رو به فارسی تبدیل کردم !

    ولی الان مشکلی که دارم اینه که جالب نیست من به کاربر بگم هربار اسکریپت رو باز کن تا تبدیل کنه بعد جستجو کن !

    راهی هست که همون اول که کاربر میخاد داده هاشو ثبت کنه فارسی ثبت شه ! یا همون اول اتوماتیک خودش تبدیلش کنه به فارسی بعد ثبت شه ؟!
    موقع ثبت اینجوری ثبت کن N'رامین'
    اگه تو کوئری که من نوشته بودم دقت میکردید من یه N گذاشته بودم. وقتی کولیشن درست نباشه این اتفاقات میافتهخ. من عادت کردم اگه کولیشن هم درست باشه این N رو میزارم

  8. #8
    کاربر دائمی
    تاریخ عضویت
    تیر 1393
    پست
    161
    تشکر کردن
    1
    4 بار تشکر شده در 4 پست

    نقل قول: درخواست کد جستجو دقیق تر برای سی شارپ

    نقل قول نوشته شده توسط رامین مرادی مشاهده تاپیک
    موقع ثبت اینجوری ثبت کن N'رامین'
    اگه تو کوئری که من نوشته بودم دقت میکردید من یه N گذاشته بودم. وقتی کولیشن درست نباشه این اتفاقات میافتهخ. من عادت کردم اگه کولیشن هم درست باشه این N رو میزارم
    آها منظورتونو فهمیدم ولی کد ثبتمو چه تغییری بدم :
    اینا کدای ثبتمه :

    SqlConnection M = new SqlConnection("Data Source=.;Initial Catalog=adel;Integrated Security=True");
    M.Open();
    String s1 = string.Format("insert into anbar values('{0}',{1},{2},{3})", textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text);
    SqlCommand comm = new SqlCommand(s1, M);
    comm.ExecuteNonQuery();
    MessageBox.Show("فاکتور فروش با موفقیت ثبت شد");
    M.Close();

  9. #9
    مدیر بخش آواتار Mahmoud.Afrad
    تاریخ عضویت
    مرداد 1387
    پست
    3,667
    تشکر کردن
    58
    2,835 بار تشکر شده در 2,238 پست

    نقل قول: درخواست کد جستجو دقیق تر برای سی شارپ

    یک extension method بنویسید که حروف عربی رایج را با فارسی معادل جایگزین کند و در زمان درج و آپدیت و جستجو برای مقادیر متنی استفاده کنید.

  10. #10
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,411
    تشکر کردن
    330
    345 بار تشکر شده در 315 پست

    نقل قول: درخواست کد جستجو دقیق تر برای سی شارپ

    طبق فرمایش استاد عزیزمون آقای افراد میتونید از اکتنشن متود استفاده نمایید. برای اینکار این کلاس رو تو پروژتون کپی کنید.



    public static class StringExtensions
    {
    public static string ArbicToPersian(this string input)
    {
    string re = input.Replace("ي", "ی").Replace("ك", "ک");
    return re;
    }
    }


    نکته:اولین آرگومان تابع ریپلیس ي عربی و دومین آرگومان ی فارسی هست و برای ک هم همینطور.(اینجا درست نمایش داده نمیشه)
    و برای استفادش از کد زیر استفاده نمایید



    txtbox1.Text.ArbicToPersian();


    اینجور حروف عربی جایگزین میشه.

    یا اینکه موقع اینسرت اینجوری بنویسید



    SqlConnection M = new SqlConnection("Data Source=.;Initial Catalog=adel;Integrated Security=True");
    M.Open();
    String s1 = string.Format("insert into anbar values(N'{0}',{1},{2},{3})", textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text);
    SqlCommand comm = new SqlCommand(s1, M);
    comm.ExecuteNonQuery();
    MessageBox.Show("فاکتور فروش با موفقیت ثبت شد");
    M.Close();



    اگه به اون کلمه N دقت کنید تو ورودی های رشته ای گذاشتم. خط 3.
    آخرین ویرایش به وسیله رامین مرادی : چهارشنبه 20 تیر 1397 در 08:14 صبح

  11. کاربرانی که به خاطر مطلب مفید رامین مرادی از وی تشکر کرده‌اند:


  12. #11
    کاربر دائمی
    تاریخ عضویت
    تیر 1393
    پست
    161
    تشکر کردن
    1
    4 بار تشکر شده در 4 پست

    نقل قول: درخواست کد جستجو دقیق تر برای سی شارپ

    نقل قول نوشته شده توسط رامین مرادی مشاهده تاپیک
    طبق فرمایش استاد عزیزمون آقای افراد میتونید از اکتنشن متود استفاده نمایید. برای اینکار این کلاس رو تو پروژتون کپی کنید.



    public static class StringExtensions
    {
    public static string ArbicToPersian(this string input)
    {
    string re = input.Replace("ي", "ی").Replace("ك", "ک");
    return re;
    }
    }


    نکته:اولین آرگومان تابع ریپلیس ي عربی و دومین آرگومان ی فارسی هست و برای ک هم همینطور.(اینجا درست نمایش داده نمیشه)
    و برای استفادش از کد زیر استفاده نمایید



    txtbox1.Text.ArbicToPersian();


    اینجور حروف عربی جایگزین میشه.

    یا اینکه موقع اینسرت اینجوری بنویسید



    SqlConnection M = new SqlConnection("Data Source=.;Initial Catalog=adel;Integrated Security=True");
    M.Open();
    String s1 = string.Format("insert into anbar values(N'{0}',{1},{2},{3})", textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text);
    SqlCommand comm = new SqlCommand(s1, M);
    comm.ExecuteNonQuery();
    MessageBox.Show("فاکتور فروش با موفقیت ثبت شد");
    M.Close();



    اگه به اون کلمه N دقت کنید تو ورودی های رشته ای گذاشتم. خط 3.

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

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

  1. combobox با امكان جستجو براي سي شارپ دات نت ؟
    نوشته شده توسط gama118 در بخش C#‎‎
    پاسخ: 3
    آخرین پست: پنج شنبه 13 اردیبهشت 1397, 01:45 صبح
  2. سوال: درخواست اموزش گرفتن کد کپچا برای سی شارپ
    نوشته شده توسط ali-najafi در بخش C#‎‎
    پاسخ: 6
    آخرین پست: چهارشنبه 23 دی 1394, 19:06 عصر
  3. اینم یه برنامه برای تبدیل کد های VB.net به سی شارپ
    نوشته شده توسط Julias99 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: پنج شنبه 21 مرداد 1389, 15:22 عصر
  4. اینم یه برنامه برای تبدیل کد های VB.net به سی شارپ
    نوشته شده توسط Julias99 در بخش VB.NET
    پاسخ: 4
    آخرین پست: چهارشنبه 20 مرداد 1389, 11:59 صبح
  5. جستجو بر اساس فیلد تاریخ در اکسس برای سی شارپ
    نوشته شده توسط Engineer_Yasin در بخش C#‎‎
    پاسخ: 7
    آخرین پست: پنج شنبه 27 دی 1386, 20:32 عصر

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

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