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

نام تاپیک: راهنمایی در مورد جست و جو براساس کلید واژه

  1. #1
    کاربر جدید
    تاریخ عضویت
    مهر 1390
    محل زندگی
    تهران
    پست
    11

    راهنمایی در مورد جست و جو براساس کلید واژه

    سلام دوستان
    من در یک برنامه سی شارپ میخوام که کاربر وقتی کلید واژه(یعنی یک کلمه از یک متن )را در تکس باکس وارد کرد وقتی دکمه جستجو را کلیک کرد متنی را که این کلمه در آن بود را نمایش دهد لطفا اگر شما راهی به ذهنتون میرسه مرا راهنمایی کنید

  2. #2
    کاربر دائمی آواتار spring69
    تاریخ عضویت
    مهر 1388
    محل زندگی
    تهران
    سن
    33
    پست
    321

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

    سلام
    ابتدا متن رو بر اساس کاراکتر فاصله اسپلیت کن و در یک لیست قرار بده. (تا اینجا متن به کلماتی تبدیل شد). بعد با شرط Contains چک کن.
    اگر هر جمله رو جدا داری که لیستی از لیست ها تشکیل میدی.
    اگر جمله هات همه در یک متن هست ابتدا جمله ها رو بر اساس کاراکتر نقطه جدا کن بعد بریز در یک لیست و آن لیست ها رو اسپلیت کن.
    اگر متوجه نشدی یا به کارت نیومد یک مثال از صورت مسئله بزن برات کد میزارم.

  3. #3
    کاربر دائمی
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    38
    پست
    1,104

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

    دوست عزیز سوالت ناقص.این متن ها کجاست؟ توی دیتابیس؟ تو فایل؟ اگه دیتابیس که یه Select بزن و از LIKE استفاده کن، اگه نه بگو این متن ها کجاست که میخوای توش Search انجام بدی؟

  4. #4

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

    با فرض این که از دیتابیس میخوای جستجو کنی :
    select  * from user  where name like '%ali%'


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

  5. #5
    کاربر جدید
    تاریخ عضویت
    مهر 1390
    محل زندگی
    تهران
    پست
    11

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

    اول تشکر میکنم از شما دوستان به خاطره توجه شما به سواله من
    بعدم بگم که متن مورد نظر من در دیتابیس هست و من متوجه شدم که باید از دستور select و عملگر Like استفاده کنم و الان مشکل من اینجاست که برنامه به کوتیشن ارور میده و کد من هم در این قسمت

    SqlDataAdapter da = new SqlDataAdapter("select (Ssharh) from tblPish where (Shoze=@s) AND (Ssharh=@sh LIKE "%")",con);
    که به کوتیشن ارور میده
    است و در صورت تغییر به
    SqlDataAdapter da = new SqlDataAdapter("select (Ssharh) from tblPish where (Shoze=@s) AND (Ssharh=@sh LIKE '%')",con);
    خطایIncorrect syntax near the keyword 'LIKE'.میدهد به نظر شما باید کوتیشن ها رو چطوری قرار بدم تا درست بشه؟

  6. #6

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

    میشه لطفا بگید دنبال چه چیزی هستید ؟
    توی تیبل tblPish میخواید متن داخل تکس باکس با متن داخل فیلد برابر باشه ؟ اگه منظورتون اینه که فکر میکنم از بیخ کدتون غلط باشه
    بهتره به زبان فارسی همینجوری که صحبت میکنیم سوالتون که قراره دستور اس کیو ال بشه رو بیان کنید تا بهتر در موردش صحبت کنیم

  7. #7

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

    سلام اینو امتحان کن
    SqlCommand objCommand = new SqlCommand();
    objCommand.CommandText = "select Sshahr from tblpish where shoze like N'%"+textbox.text+"%'"

  8. #8
    کاربر جدید
    تاریخ عضویت
    مهر 1390
    محل زندگی
    تهران
    پست
    11

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

    متاسفانه این کد هم ارور Incorrect syntax near the keyword 'Like'. رو میده

  9. #9

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

    سلام ، به این تکه کد که واستون نوشتم دقت کن :

    OleDbDataAdapter DA= new OleDbDataAdapter();
    DA.SelectCommand=new OleDbCommand();
    DA.SelectCommand.Connection=my_con;
    DA.SelectCommand.CommandType=CommandType.Text;
    DA.SelectCommand.CommandText="Select * from tblpish where s_name like '%" + textBox1.Text.Trim() + "%'";

    my_con.Open();
    DataTable dt= new DataTable();
    DA.Fill(dt);
    dataGridView1.DataSource=dt;

    my_con.Close();


    کاملا تست شده و بدور از اشکاله

    موفق باشید./

  10. #10
    کاربر جدید
    تاریخ عضویت
    مهر 1390
    محل زندگی
    تهران
    پست
    11

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

    دوست عزیز از کدی که برام گذاشتین ممنون این کد به درستی کار کرد فقط مشکل اینجاست که کلماتی که داری حرف(ی) رو مثل کلمه (داریم) رو در هنگام سرچ نمیشناسه و برای این کلمات پس از سرچ چیزی نمایش نمیده ،شما دوستان فکر میکنید اشکال از فونتش هست یا از چیزه دیگه ای؟

  11. #11

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

    سلام ،

    دوست عزیز من همین الان امتحان کردم و به درستی کار کرد.یعنی حرف مابین (ی) رو هم جستجو میکنه.

  12. #12
    کاربر دائمی آواتار spring69
    تاریخ عضویت
    مهر 1388
    محل زندگی
    تهران
    سن
    33
    پست
    321

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

    سلام به این صورت بنویسید:
                var DA = new OleDbDataAdapter
    {
    SelectCommand = new OleDbCommand
    {
    Connection =my_con,
    CommandType = CommandType.Text,
    CommandText = "Select * from tblpish where s_name like '%' + @s_name + '%'"
    }
    };
    DA.SelectCommand.Parameters.AddWithValue("@s_name" , textBox1.Text.Trim());
    DA.SelectCommand.Connection.Open();
    var dt = new DataTable();
    DA.Fill(dt);
    dataGridView1.DataSource = dt;
    my_con.Close();

  13. #13
    کاربر دائمی
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    38
    پست
    1,104

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

    دوست عزیز کلا فارسی با دو حرف ی و ک مشکل داره چون هم کد فارسی و عربی این دو تا کاراکتر با هم فرق داره و امکان داره چیزی که تو دیتابیس هست مثلا ی عربی باشه و شما با کیبورد ی فارسی رو وارد کردی و میخوای سرچ کنی.. کلا تو پروژه هایی که فارسی زبانه بهتر که از ابتدا کلا یه تابع داشته باشی که همه ورودی ها رو (از هر کیبوردی که باشه)یکسان ذخیره کنه، یا عربی کنه و ذخیره کنه یا فراسی و اینجوری موقع سرچ هم میتونی ورودی کاربر رو به اون نوع که ذخیره کردی(فارسی یا عربی) تبدیل کنی و بعد سرچ کنی.

  14. #14
    کاربر دائمی آواتار spring69
    تاریخ عضویت
    مهر 1388
    محل زندگی
    تهران
    سن
    33
    پست
    321

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

    نقل قول نوشته شده توسط shadi khanum مشاهده تاپیک
    دوست عزیز کلا فارسی با دو حرف ی و ک مشکل داره چون هم کد فارسی و عربی این دو تا کاراکتر با هم فرق داره و امکان داره چیزی که تو دیتابیس هست مثلا ی عربی باشه و شما با کیبورد ی فارسی رو وارد کردی و میخوای سرچ کنی.. کلا تو پروژه هایی که فارسی زبانه بهتر که از ابتدا کلا یه تابع داشته باشی که همه ورودی ها رو (از هر کیبوردی که باشه)یکسان ذخیره کنه، یا عربی کنه و ذخیره کنه یا فراسی و اینجوری موقع سرچ هم میتونی ورودی کاربر رو به اون نوع که ذخیره کردی(فارسی یا عربی) تبدیل کنی و بعد سرچ کنی.
    این فرمودتون درسته ولی اگر مقادیر بصورت پارامتر به کوئری ارسال بشن در اکثر موارد این مشکل پیش نمیاد. من امکان تست کامل ندارم ولی طبق تجربه کد بالا رو گذاشتم شما و اون دوست موسس تاپیک () تست کنید.

  15. #15
    کاربر جدید
    تاریخ عضویت
    مهر 1390
    محل زندگی
    تهران
    پست
    11

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

    دوستان مشکل حل شد کافی است که در زمان ثبت و جست و جو از کد زیر در رویداد Key press استفاده کنم
    if (e.KeyChar == 'ی') e.KeyChar = 'ي';

  16. #16

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

    نقل قول نوشته شده توسط vbBoss مشاهده تاپیک
    سلام ، به این تکه کد که واستون نوشتم دقت کن :

    OleDbDataAdapter DA= new OleDbDataAdapter();
    DA.SelectCommand=new OleDbCommand();
    DA.SelectCommand.Connection=my_con;
    DA.SelectCommand.CommandType=CommandType.Text;
    DA.SelectCommand.CommandText="Select * from tblpish where s_name like '%" + textBox1.Text.Trim() + "%'";

    my_con.Open();
    DataTable dt= new DataTable();
    DA.Fill(dt);
    dataGridView1.DataSource=dt;

    my_con.Close();


    کاملا تست شده و بدور از اشکاله

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

  17. #17
    کاربر دائمی
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    38
    پست
    1,104

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

    شما الان با این کد اطلاعات رو توی دیتاتیبل dt داری و هر کاری بخوای میتونی با ردیف های این دیتاتیبل (datarow) ها بکنی و میتونی یه loop روی dt.rows بزنی و ردیف به ردیف اطلاعات رو بخونی و هر جایی که میخوای نشون بدی

  18. #18

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

    نقل قول نوشته شده توسط vahdani_d مشاهده تاپیک
    ممنون از کدتون یک سوال حالا اگه بخوایم نتیجه داخل دیتا گرید نمایش داده نشه و مثلا داخل لیبل نوشته و نمایش داده بشه چکار باید کرد ؟
    به راحتی میشه اینکارو انجام داد ولی ممکنه نتیجه ی جستجو مثلا 4 تا بشه شما کدوم رو میخواین داخل لیبل نمایش بدین؟

  19. #19

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

    نقل قول نوشته شده توسط vbBoss مشاهده تاپیک
    به راحتی میشه اینکارو انجام داد ولی ممکنه نتیجه ی جستجو مثلا 4 تا بشه شما کدوم رو میخواین داخل لیبل نمایش بدین؟
    پس بهترین راه برای نمایش اطلاعات دیتابیس همین گرید ویو هست درسته ؟
    اما فرض کنیم فقط یک خروجی داشته باشیم مثلا براساس کلید اصلی که تکرار نداره جستجو کنیم و اطلاعات بخوایم در یک لیبل نمایش داده بشه ؟

  20. #20

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

    1 ) آره

    2 )اول یک Label رو فرمت قرار بده بعد این خط رو بعد از Da.fill کپی کن و نتیجه رو مشاهده کن :

    label1.Text = dt.Rows[0][1].ToString();


    موفق باشید.

  21. #21
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    تهران
    پست
    40

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

    بله اشکال در فونت هستش

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

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