patrick5053
دوشنبه 09 اردیبهشت 1392, 09:09 صبح
سلام من چندتا تري ويو دارم كه به كاربر اين امكان رو ميده كه با انتخاب گزينه هاي دلخواه از اين تري ويو ها دستور سرچ ايجاد كنه و از بانك استعلام بگيره.
مثلا تري ويو اول كد كالا ها و تري ويو دوم كد مشتريان.
حالا كاربر انتخاب ميكنه كه كدوم كد كالا و كدوم كد مشتري را در دستور سرچ اضافه يا كم كنه.
من با اين دستور گزينه هايي كه توسط كاربر در تري ويو ها انتخاب شده رو استخراج ميكنم.
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 ميشه اين كار رو كرد يا نه؟
آيا كسي راه بهتر و روشنتري رو داره بهم بگه؟ ممنون.
مثلا تري ويو اول كد كالا ها و تري ويو دوم كد مشتريان.
حالا كاربر انتخاب ميكنه كه كدوم كد كالا و كدوم كد مشتري را در دستور سرچ اضافه يا كم كنه.
من با اين دستور گزينه هايي كه توسط كاربر در تري ويو ها انتخاب شده رو استخراج ميكنم.
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 ميشه اين كار رو كرد يا نه؟
آيا كسي راه بهتر و روشنتري رو داره بهم بگه؟ ممنون.