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

نام تاپیک: نحوه ايجاد دستور سرچ به صورت صحيح

  1. #1
    کاربر دائمی آواتار patrick5053
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    در دل #C
    سن
    36
    پست
    214

    نحوه ايجاد دستور سرچ به صورت صحيح

    سلام من چندتا تري ويو دارم كه به كاربر اين امكان رو ميده كه با انتخاب گزينه هاي دلخواه از اين تري ويو ها دستور سرچ ايجاد كنه و از بانك استعلام بگيره.
    مثلا تري ويو اول كد كالا ها و تري ويو دوم كد مشتريان.
    حالا كاربر انتخاب ميكنه كه كدوم كد كالا و كدوم كد مشتري را در دستور سرچ اضافه يا كم كنه.
    من با اين دستور گزينه هايي كه توسط كاربر در تري ويو ها انتخاب شده رو استخراج ميكنم.
    string queryDoc = "";
    int i = 0;
    foreach (TreeNode n in treeView2.Nodes)
    {
    if (n.Checked)
    {
    if (i == 0)
    queryDoc += " and ";
    else
    queryDoc += " or ";
    i++;
    queryDoc += "kod=" + "'" + n.Text + "'";
    }
    }

    حالا من يك متغير از نوع استرينگ تعريف ميكنم به اين شكل
    string s = "select * from table1 where id>0"
    خوب تا اينجا كه من يه دستور ساده اسكيوال و اطلاعات تري ويو ها رو جدا ايجاد كردم.
    بهد من ميام اينها رو باهم ادغام و در دستور sqlcommand قرار ميدم به اين شكل.
    sqlcommand = s+querydoc;
    كه اين دستور ميشه به اين شكل
    sqlcommand= select * from tabl1 where id>'0' and kod='1' or kod='2' or kod='3'

    مشكل اينجاست كه در دستور بالا بايد قسمتهاي or داخل پرانتز باشند به اين شكل.

    sqlcommand= select * from tabl1 where id>'0' and (kod='1' or kod='2' or kod='3')

    حالا ميخوام بدونم چطور اين پرانتز ها رو ايجاد كنم.
    آيا از دستور replac ميشه اين كار رو كرد يا نه؟
    آيا كسي راه بهتر و روشنتري رو داره بهم بگه؟ ممنون.

  2. #2
    کاربر دائمی
    تاریخ عضویت
    شهریور 1389
    محل زندگی
    جلوي مانيتور
    پست
    287

    نقل قول: نحوه ايجاد دستور سرچ به صورت صحيح

    سلام
    باید این جوری بنویسی :
    if (querydoc <> "")
    sqlcommand = s +"(" + querydoc + ")"

  3. #3
    کاربر دائمی آواتار patrick5053
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    در دل #C
    سن
    36
    پست
    214

    نقل قول: نحوه ايجاد دستور سرچ به صورت صحيح

    ممنون دوست عزيز ولي اين راهي كه شما گفتين ميشه به اين شكل. ببينيد
    sqlcommand = select * from table1 where id>0 (and kod='1' or kod='2')

    كه اين مشكل ايجاد ميكنه چون قسمت and رو هم ميبره داخل پرانتز.
    من خودم يه راه حل پيدا كردم.
    بازم اگه راه حل بهتري داره ممنون ميشم بگه.
    textBoxX13.Text = "";
    int count = 0;
    int i = 0;
    foreach (TreeNode n in treeView2.Nodes)
    {
    if (n.Checked)
    {
    if (i == 0)
    {
    textBoxX13.Text += " and "+"("+"kod=" + "'" + n.Text + "'";
    }
    else
    textBoxX13.Text += " or " + "kod=" + "'" + n.Text + "'";
    i++;
    }
    }
    for (int n = 0; n < treeView2.Nodes.Count; n++)
    {
    if (treeView2.Nodes[n].Checked == true)
    {
    count += 1;
    }
    }
    if (count > 0)
    {
    textBoxX13.Text += ")";
    }

  4. #4

    نقل قول: نحوه ايجاد دستور سرچ به صورت صحيح


    string queryDoc = "";
    foreach (TreeNode n in treeView2.Nodes)
    {
    if (n.Checked)
    {
    if (!queryDoc.Contains("and"))
    {
    queryDoc += " and";
    }
    else
    {
    queryDoc += " or ";
    }

    if (queryDoc.EndsWith("and"))
    {
    queryDoc += " (";
    }
    queryDoc += "kod='" + n.Text + "'";
    }
    }

    if (queryDoc.Contains("("))
    {
    queryDoc += ")";
    }

  5. #5
    کاربر دائمی آواتار patrick5053
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    در دل #C
    سن
    36
    پست
    214

    نقل قول: نحوه ايجاد دستور سرچ به صورت صحيح

    ممنون دوست عزيز اين راه از راه من بهتره و نيازي به دستور for نداره.
    ممنون و موفق باشي.

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

  1. دستور update به صورت پارامتری
    نوشته شده توسط rasool1110 در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 1
    آخرین پست: دوشنبه 14 خرداد 1386, 18:29 عصر
  2. نحوه جدا ساری اعداد به صورت سه رقم سه رقم
    نوشته شده توسط majidrad در بخش Classic ASP
    پاسخ: 3
    آخرین پست: سه شنبه 25 اردیبهشت 1386, 13:16 عصر
  3. پاسخ: 0
    آخرین پست: دوشنبه 03 اردیبهشت 1386, 21:59 عصر
  4. نحوه اجرای دستور sql درمحیط vb.net
    نوشته شده توسط a-mohebbi در بخش VB.NET
    پاسخ: 5
    آخرین پست: شنبه 11 شهریور 1385, 14:50 عصر
  5. پاسخ: 1
    آخرین پست: سه شنبه 29 فروردین 1385, 17:08 عصر

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

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