C# c语言中的sql搜索查询#

C# c语言中的sql搜索查询#,c#,sql,C#,Sql,我正在尝试在我的应用程序中进行数据库搜索,用户将选择列并输入搜索词,结果将出现在dataviewgrid中。 这是我一直在编写的代码,问题是没有出现任何问题,我非常确定数据库中有条目。编辑:这是一个windows窗体应用程序 private void button1_Click(object sender, EventArgs e) { conn = new SqlConnection("Server = localhost; database = Clients; In

我正在尝试在我的应用程序中进行数据库搜索,用户将选择列并输入搜索词,结果将出现在dataviewgrid中。 这是我一直在编写的代码,问题是没有出现任何问题,我非常确定数据库中有条目。编辑:这是一个windows窗体应用程序

private void button1_Click(object sender, EventArgs e)
    {
        conn = new SqlConnection("Server = localhost; database = Clients; Integrated Security = SSPI");
        conn.Open();
        SqlCommand cmd = new SqlCommand("SELECT * From dbo.Tclients WHERE @choice = @input", conn);
        cmd.Parameters.AddWithValue("@choice", comboBox1.Text);
        cmd.Parameters.AddWithValue("@input", textBox1.Text);
        ds = new DataSet();
        da = new SqlDataAdapter(cmd);
        da.Fill(ds);
        dataGridView1.DataSource = ds.Tables[0];
        conn.Close();
    }

您忘记了将网格视图与数据源绑定 将此添加到数据源之后

dataGridView1.DataSource = ds.Tables[0];
dataGridView1.DataBind();

您忘记了将网格视图与数据源绑定 将此添加到数据源之后

dataGridView1.DataSource = ds.Tables[0];
dataGridView1.DataBind();

您忘记了将网格视图与数据源绑定 将此添加到数据源之后

dataGridView1.DataSource = ds.Tables[0];
dataGridView1.DataBind();

您忘记了将网格视图与数据源绑定 将此添加到数据源之后

dataGridView1.DataSource = ds.Tables[0];
dataGridView1.DataBind();

不能使用参数来表示列的名称。 您应该使用列名填充组合框,并将其
DropDownStyle
属性设置为
DropDownList
(不允许用户键入列名),然后生成查询

private void button1_Click(object sender, EventArgs e)
{
    string cmdText = "SELECT * From dbo.Tclients WHERE " + comboBox1.Text + " = @input";
    using(SqlConnection conn = new SqlConnection(....))
    using(SqlCommand cmd = new SqlCommand(cmdText, conn))
    {
        conn.Open();
        cmd.Parameters.AddWithValue("@input", textBox1.Text);
        ds = new DataSet();
        da = new SqlDataAdapter(cmd);
        da.Fill(ds);
        dataGridView1.DataSource = ds.Tables[0];
    }
}

不能使用参数来表示列的名称。 您应该使用列名填充组合框,并将其
DropDownStyle
属性设置为
DropDownList
(不允许用户键入列名),然后生成查询

private void button1_Click(object sender, EventArgs e)
{
    string cmdText = "SELECT * From dbo.Tclients WHERE " + comboBox1.Text + " = @input";
    using(SqlConnection conn = new SqlConnection(....))
    using(SqlCommand cmd = new SqlCommand(cmdText, conn))
    {
        conn.Open();
        cmd.Parameters.AddWithValue("@input", textBox1.Text);
        ds = new DataSet();
        da = new SqlDataAdapter(cmd);
        da.Fill(ds);
        dataGridView1.DataSource = ds.Tables[0];
    }
}

不能使用参数来表示列的名称。 您应该使用列名填充组合框,并将其
DropDownStyle
属性设置为
DropDownList
(不允许用户键入列名),然后生成查询

private void button1_Click(object sender, EventArgs e)
{
    string cmdText = "SELECT * From dbo.Tclients WHERE " + comboBox1.Text + " = @input";
    using(SqlConnection conn = new SqlConnection(....))
    using(SqlCommand cmd = new SqlCommand(cmdText, conn))
    {
        conn.Open();
        cmd.Parameters.AddWithValue("@input", textBox1.Text);
        ds = new DataSet();
        da = new SqlDataAdapter(cmd);
        da.Fill(ds);
        dataGridView1.DataSource = ds.Tables[0];
    }
}

不能使用参数来表示列的名称。 您应该使用列名填充组合框,并将其
DropDownStyle
属性设置为
DropDownList
(不允许用户键入列名),然后生成查询

private void button1_Click(object sender, EventArgs e)
{
    string cmdText = "SELECT * From dbo.Tclients WHERE " + comboBox1.Text + " = @input";
    using(SqlConnection conn = new SqlConnection(....))
    using(SqlCommand cmd = new SqlCommand(cmdText, conn))
    {
        conn.Open();
        cmd.Parameters.AddWithValue("@input", textBox1.Text);
        ds = new DataSet();
        da = new SqlDataAdapter(cmd);
        da.Fill(ds);
        dataGridView1.DataSource = ds.Tables[0];
    }
}



Tclients
表是否包含
choice
列?您要筛选哪一列?您不能使用参数来表示列的名称或表的名称。我不知道您不能这样做,哦。
Tclients
table是否包含
choice
column?您要筛选哪一列?您不能使用参数来表示列的名称或表的名称。我不知道您不能这样做,哦。
Tclients
table是否包含
choice
column?您要筛选哪一列?您不能使用参数来表示列的名称或表的名称。我不知道您不能这样做,哦。
Tclients
table是否包含
choice
column?您要筛选哪一列?您不能使用参数来表示列或表名。我不知道您不能这样做,哦。DataGridView(或更好的WinForm应用程序)不需要DataBind callit添加dataGridView1.DataBind()后给我一个错误;你能确认它是ASP.NET应用程序吗?错误消息是什么?DataGridView(或者更好的WinForm应用程序)不需要DataBind callit在添加dataGridView1.DataBind()后给我一个错误;你能确认它是ASP.NET应用程序吗?错误消息是什么?DataGridView(或者更好的WinForm应用程序)不需要DataBind callit在添加dataGridView1.DataBind()后给我一个错误;你能确认它是ASP.NET应用程序吗?错误消息是什么?DataGridView(或者更好的WinForm应用程序)不需要DataBind callit在添加dataGridView1.DataBind()后给我一个错误;你能确认它是ASP.NET应用程序吗?什么是错误消息?我想这是开放的Sql注入!只需写下列名!我已经指定将列名添加到组合框中,并将DropDownStyle设置为DropDownList。此样式无法编辑此样式按我所希望的方式工作,非常感谢您的帮助还有一个问题@Steve我应该检查“if(…)”以了解它是否找到用户?我认为这是Sql注入的开放式!只需写下列名!我已经指定将列名添加到组合框中,并将DropDownStyle设置为DropDownList。此样式无法编辑此样式按我所希望的方式工作,非常感谢您的帮助还有一个问题@Steve我应该检查“if(…)”以了解它是否找到用户?我认为这是Sql注入的开放式!只需写下列名!我已经指定将列名添加到组合框中,并将DropDownStyle设置为DropDownList。此样式无法编辑此样式按我所希望的方式工作,非常感谢您的帮助还有一个问题@Steve我应该检查“if(…)”以了解它是否找到用户?我认为这是Sql注入的开放式!只需写下列名!我已经指定将列名添加到组合框中,并将DropDownStyle设置为DropDownList。此样式无法编辑此样式按我所希望的方式工作,非常感谢您的帮助还有一个问题@Steve我应该检查“if(…)”以了解它是否找到用户?