Member 13602958 Ответов: 2

Параметризованного запроса, как


Пожалуйста, дайте мне решение параметризованного запроса для сопоставления "Like" в sql-запросе

Что я уже пробовал:

private void TxtSearch_TextChanged(object sender, EventArgs e)
        {
            try
            {

                con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=D:\DATABASE\data.sql.mdf;Integrated Security=True;Connect Timeout=30");
                con.Open();
               

    // SqlCommand  sda = new SqlCommand(" select * from Tab Where [Part_No] like '%@Part_No%' and [Company_Name] like '%@Company_Name%'", con);
                //sda.Parameters.Clear();
                sda.Parameters.AddWithValue("Part_No", TxtSearch.Text );
                sda.Parameters.AddWithValue("Company_Name", TextBox1.Text );
                con.Open();
                dt = new DataTable("Tab");
                adpt.Fill(dt);
                DataGridView.DataSource = dt;
                con.Close();



                if (dt.Rows.Count <= 0)
                {
                    DataRow row1 = dt.NewRow();
                    row1[0] = "No Record Found";

                    dt.Rows.Add(row1);
                    DataGridView.Rows[0].DefaultCellStyle.BackColor = Color.Yellow;
                    DataGridView.DefaultCellStyle.Font = new Font("Regular", 12, FontStyle.Regular);
                }
                else
                {
                    DataGridView.Rows[0].DefaultCellStyle.BackColor = Color.Red;
                    DataGridView.DefaultCellStyle.Font = new Font("Regular", 12, FontStyle.Regular);
                }

                if (TextBox1.Text == "" && TxtSearch.Text == "")
                {
                    con.Open();
                    adpt = new SqlDataAdapter(" select * from Tab ", con);
                    dt = new DataTable("Tab");
                    adpt.Fill(dt);
                    DataGridView.DataSource = dt;
                    con.Close();
                }
            }
            catch
            {
                MessageBox.Show("Please Enter Proper Value");
            }
        }

2 Ответов

Рейтинг:
1

Jochen Arndt

Воспользуйся

select * from Tab Where [Part_No] like '%'+@Part_No+'%' and [Company_Name] like '%'+@Company_Name+'%'
или заключите значения параметров в процентные символы:
SqlCommand sda = new SqlCommand(" select * from Tab Where [Part_No] like @Part_No and [Company_Name] like @Company_Name", con);
sda.Parameters.AddWithValue("Part_No", "%" + TxtSearch.Text + "%");
sda.Parameters.AddWithValue("Company_Name", "%" + TextBox1.Text + "%");