PDA

View Full Version : سوال: مشكل در جستجو از طريق تركيب تكست باكس و مخصوصا كمبو باكس در سي شارپ



SAEEDDOE
پنج شنبه 15 تیر 1391, 10:02 صبح
با سلام
من كدي نوشتم براي جستجو از طريق تركيبي از تكست باكس، كمبو باكس كه در فايل ضميمه هم كد و هم مشكل رو دقيقا توضيح دادم ممنون ميشم كسي از دوستان كمكم كنه تا اين مشكل جستجو رو حل كنم.
يك ماهي هست كه درگيرش هستم.
بينهايت ممنون
سعيد


private void toolStripBtn_Search_Click(object sender, EventArgs e)
{

SqlDataAdapter adaptor = new SqlDataAdapter();
System.Data.DataTable dt = new System.Data.DataTable();
cmd.CommandType = CommandType.Text;


string str1,str2;
str1 = "SELECT * FROM [view_Work Order] ";
str2 = "";

if(txtWO.Text !="")
{
str2="WHERE WO LIKE'%" + txtWO.Text.Trim() + "%'";
}

if( txtWODescription.Text !="")
{
if(str2=="")
str2="WHERE WODescription LIKE '%" + txtWODescription.Text.Trim() + "%'";
else
str2+="AND WODescription LIKE '%" + txtWODescription.Text.Trim() + "%'";
}

if(cmbDepartment.SelectedIndex !=-1)
{
if(str2=="")
str2="WHERE IDDept LIKE'%" + cmbDepartment.SelectedValue.ToString() + "%' ";
else
str2+="AND IDDept LIKE'%" + cmbDepartment.SelectedValue.ToString() + "%' ";
}

if(cmbLocation.SelectedIndex !=-1)
{
if(str2=="")
str2="WHERE Location LIKE'%" + cmbLocation.SelectedText.ToString() + "%'";
else
str2+="AND Location LIKE'%" + cmbLocation.SelectedText.ToString() + "%'";
}

if(cmbPerformer.SelectedIndex !=-1)
{
if(str2=="")
str2="WHERE Performer LIKE'%" + cmbPerformer.SelectedText.ToString() + "%'";
else
str2+="AND Performer LIKE'%" + cmbPerformer.SelectedText.ToString() + "%'";
}


if(cmbPriority.SelectedText !="")
{
if(str2=="")
str2="WHERE Priority LIKE '%" + cmbPriority.SelectedText.ToString() + "%'";
else
str2 += "AND Priority LIKE '%" + cmbPriority.SelectedText.ToString() + "%'";
}


cmd.CommandText = str1 + str2;
cmd.Connection = sqlcnn;
adaptor.SelectCommand = cmd;
adaptor.Fill(dt);
dtgWork_Order.DataSource = dt;
lblTotal_Count.Text = dtgWork_Order.Rows.Count.ToString();
}

SAEEDDOE
شنبه 17 تیر 1391, 07:11 صبح
سلام از دوستان متخصص کسی نیست که جواب ما رو بده. دعا تون میکنم ها.:عصبانی++:

veniz2008
شنبه 17 تیر 1391, 09:37 صبح
سلام، یه پست شبیه به موضوع شما قبلا نوشتم، البته اونجا فقط textbox بود ولی هیچ فرقی نمیکنه شما به جای textbox.text میتونی combobox.text رو چک کنی.
موفق باشید.
http://barnamenevis.org/showthread.php?349690-%D9%85%D8%B4%DA%A9%D9%84-%D8%AC%D8%B3%D8%AA%D8%AC%D9%88-%D9%88%D8%A7%D8%A8%D8%B3%D8%AA%D9%87-%D8%A8%D9%87-%D9%BE%D8%B1-%D8%B4%D8%AF%D9%86-textbox-%D9%87%D8%A7

aslan
شنبه 17 تیر 1391, 10:17 صبح
سلام
من خودم به این شکل عمل میکنم
اول query را در strSql میریزم
بعد با استفاده ازشرط ها strWhere را ایجاد میکنم . مثلا


strWhere +="Performer LIKE'%" + cmbPerformer.SelectedText.ToString() + "%' AND"

.
.
بعد در آخر چک میکنم اگر strWhere خالی نبود به اولش Where اضافه میکنم و از آخرش AND را حذف میکنم
بعد strSql را با strWhere ترکیب میکنم و ............
برای کنترل بهتر است محتوی strWhere را Trace کنی ببینی شرطهای مورد نظرت وجود دارد یا نه ؟ و ............