У меня есть этот код, и он отлично работает, когда я ищу что-то конкретное. Как я могу изменить его, чтобы он работал, даже если я знаю только часть Order_ID, например. Я пробовал все, и я думаю, что я просто не делаю это правильно.Найти все поля, которые могут содержать часть найденных
SqlConnection con = new SqlConnection(@"Data Source=ANNA\MSSQLSERVER2012;Initial Catalog=Wine house;Integrated Security=True;");
con.Open();
string strSQL1 = "";
if (textBox1.Text.Length > 0)
{
if (strSQL1.Length > 0)
{
strSQL1 = strSQL1 + " AND ";
}
strSQL1 = strSQL1 + "Order_ID=" + textBox1.Text;
}
if (textBox2.Text.Length > 0)
{
if (strSQL1.Length > 0)
{
strSQL1 = strSQL1 + " AND ";
}
strSQL1 = strSQL1 + "Client_ID=" + textBox2.Text;
}
if (textBox3.Text.Length > 0)
{
if (strSQL1.Length > 0)
{
strSQL1 = strSQL1 + " AND ";
}
strSQL1 = strSQL1 + "Amount_due=" + textBox3.Text;
}
if (textBox4.Text.Length > 0)
{
if (strSQL1.Length > 0)
{
strSQL1 = strSQL1 + " AND ";
}
strSQL1 = strSQL1 + "Employee_ID=" + textBox4.Text;
}
if (textBox5.Text.Length > 0)
{
if (strSQL1.Length > 0)
{
strSQL1 = strSQL1 + " AND ";
}
strSQL1 = strSQL1 + "DeliveryDate='" + textBox5.Text;
}
if (textBox6.Text.Length > 0)
{
if (strSQL1.Length > 0)
{
strSQL1 = strSQL1 + " AND ";
}
strSQL1 = strSQL1 + "Delivered='" + textBox6.Text + "'";
}
if (strSQL1.Length > 0)
{
strSQL1 = @"SELECT Order_ID, Client_ID, Amount_due, Employee_ID, CONVERT(nvarchar, DeliveryDate, 104) AS DeliveryDate, Delivered FROM Orders WHERE" + strSQL1;
}
else
{
strSQL1 = @"SELECT Order_ID, Client_ID, Amount_due, Employee_ID, CONVERT(nvarchar, DeliveryDate, 104) AS DeliveryDate, Delivered FROM Orders";
}
SqlCommand cmd = new SqlCommand(strSQL1, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable table = new DataTable();
da.Fill(table);
dataGridView1.DataSource = new BindingSource(table, null);
con.Close();