SQL请求.使用文本框

本文关键字:文本 请求 SQL | 更新日期: 2023-09-27 17:49:30

请求无效。有什么问题吗?在此之前,他通过CommandText编写,所有工作都很顺利。

代码:

        private void buttonSearch_Click(object sender, EventArgs e)
    {
        string constring = @"Data Source=(LocalDB)'v11.0;AttachDbFilename=C:'Users'HomePC'Desktop'Lab2 DB'Lab2 DB'ResearchDB.mdf;Integrated Security=True";
        using (SqlConnection con = new SqlConnection(constring))
        {
            using (SqlCommand cmd = new SqlCommand("SELECT * FROM '"+comboBox1.SelectedItem.ToString()+"' WHERE '"+ comboBox2.SelectedItem.ToString() +"' = '"+ textBox1.Text +"'", con))
            {
                cmd.CommandType = CommandType.Text;
                using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
                {
                    using (DataTable dt = new DataTable())
                    {
                        sda.Fill(dt);
                        dataGridView1.DataSource = dt;
                    }
                }
            }
        }
    }

SQL请求.使用文本框

如果提供一个错误会有帮助,但一个明显的问题是您没有打开连接。

您可以在设置完CommandType后打开连接。

cmd.CommandType = CommandType.Text;
con.Open();

另外,我建议参数化您的查询。这样更安全,还能减少潜在的打字错误。

using (var cmd = new SqlCommand(
    "SELECT * FROM '" + comboBox1.SelectedItem.ToString() + "' WHERE '" +  comboBox2.SelectedItem.ToString() + "' = @your_textbox_value", con))
{
    cmd.CommandType = CommandType.Text;
    cmd.Parameters.AddWithValue("@your_textbox_value", textBox1.Text);
    con.Open();
    ...