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

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

  1. #1
    کاربر دائمی آواتار sajadjamalian
    تاریخ عضویت
    تیر 1388
    محل زندگی
    تهران
    پست
    252

    Question جستجوی تک تک کلمات یک جمله در دیتابیس؟

    سلام دوستان:
    من توی برنامه یه textbox دارم که کاربر میتونه کلمه یا جمله ای رو توی اون وارد کنه، حالا فرض کنید که کاربر جمله "علی به بازار رفت" را درون textbox بنویسد، حالا میخوام توی یه جدولی که توی sql دارم توی یکی از column های اون هر 4تا کلمه این جمله جستجو بشه، مثلا اگه "علی" بود یا "رفت" بود هم توی نتیجه کوئری نشون داده بشه، باید چی کار کنم؟ ممنون.

  2. #2
    مدیر بخش آواتار mmd2009
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    پست
    2,393

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

    با سلام

    یک کد نوشتم برات امیدوارم کارتو راه بندازه. کاری که گفتی رو انجام میده


    /// <summary>
    /// متدی برای ارسال رشته اتصالی
    /// </summary>
    /// <returns>رشته اتصالی</returns>
    private string ConnectionString()
    {
    return ("Data Source=.\\SQLEXPRESS;" +
    "Initial Catalog=learn;Integrated Security=True");
    }

    private void button1_Click(object sender, EventArgs e)
    {
    SqlDataReader re;
    SqlConnection con = new SqlConnection(this.ConnectionString());

    string strQuery = "select name from tbl1 where name=@name";

    SqlCommand cmd = new SqlCommand(strQuery, con);
    con.Open();

    // یک حلقه برای دریافت نام ها از جعبه متن
    foreach (string MyValue in this.textBox1.Text.Split(' '))
    {
    cmd.Parameters.Add("@name", SqlDbType.NVarChar).Value = MyValue;
    re = cmd.ExecuteReader();
    if (re.Read())// اگر نام وجود داشته باشه ااسمش رو مینویسیم
    {
    this.Text += MyValue + "//";
    }
    re.Close();
    cmd.Parameters.Clear();
    }

    con.Close();
    }


    موفق باشید

    کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»


  3. #3
    کاربر دائمی آواتار sajadjamalian
    تاریخ عضویت
    تیر 1388
    محل زندگی
    تهران
    پست
    252

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

    ممنون mmd2009:
    این کدی که شما نوشتی جمله رو تکه تکه میکنه و دنبال هر کدوم از کلماتش میگرده،آیا دستور خاصی توی sql وجود نداره که چنین کاری رو انجام بده؟
    بازم ممنون از توجهت.

  4. #4
    مدیر بخش آواتار mmd2009
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    پست
    2,393

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

    تا جایی که من میدونم به طور مستقیم نمیشه با کوئری چنین کاری رو کرد و تابع خاصی براش نوشت

    موفق باشید

    کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»


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

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

    فکر کنم روشی که میگم براتون مفید باشه!
    اول جمله ی داخل textbox رو تکه تکه کنید یعنی با تابع Split کلمه هاشو جدا کنید و در یک آرایه نگه دارید بعد این کوئری رو بنویسید:
    select *
    from tablename
    where name like '%arr[0]%arr[1]%arr[2]%';
    احتمالا جواب بده،تست کنید ضرر نداره!!!
    در اینجا arr اسم ارایه ای است که کلمه های جمله در اون قرار دادیم...
    موفق باشید

  6. #6

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

    سلام اینم می تونه روش خوب و ساده ای باشه.
    String Query="SELECT fileds FROM table WHERE fieldname IN('"+textbox1.text.Replace(" ","',")+"')"

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

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