在SQL Query Builder Visual Studio中使用变量

时间:2016-12-16 01:19:32

标签: c# sql visual-studio datagridview query-builder

我正在使用datagridview,我想要完成的是select column from table where column = expression。 问题是我不知道如何使用查询构建器,并且不知道那是否可能。我希望我的表达式从combobox.SelectedValue中提取。在普通代码中,我会像

一样

"SELECT column2, column3 FROM table1 WHERE column1 = " + (int)combobox.SelectedValue + ""但是如何在查询构建器中编写它? 如何在查询生成器中获取SelectedValue的值,以便我可以在WHERE中使用它

1 个答案:

答案 0 :(得分:0)

试试这个,你所犯的一个错误是当值应该是字符串时将组合框值转换为int,无论将参数传递给SQL查询的最佳方法如下所示。

string sql = "SELECT * FROM SOMETABLE WHERE someColumn = @comboboxparam";

using (SqlConnection connection = new SqlConnection())
using (SqlCommand command = new SqlCommand(sql, connection))
{
    var comboBoxParam = new SqlParameter("someColumn", SqlDbType.Text);
    comboBoxParam.Value = comboBox.Text;

    command.Parameters.Add(comboBoxParam);
    var results = command.ExecuteReader();
}