使用文本框作为过滤器的参数化查询

时间:2016-05-25 14:20:18

标签: c# winforms postgresql datagrid visual-studio-2015

在CRM数据库中,我有一个包含所有客户端详细信息的表单(来自PostgreSQL) 在它下面有一个datagrid我需要填写有关访问客户的所有数据,其详细信息目前显示在上面。 我无法根据详细信息视图中的一个文本框找到过滤数据网格中数据的方法。

我尝试使用以下方法创建参数化查询:

SELECT
WHERE client_code = @client_code

但它只是给了我 WHERE子句在' @'附近出错无法解析查询文本。

我也不知道如何定义@client_code参数。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您尝试运行查询而不定义参数@client_code。尝试:

    SqlCommand cmd = new SqlCommand("SELECT <FIELD_NAME1>,<FIELD_NAME2.. FROM <TABLE_NAME> WHERE client_code = @client_code", con);
    con.Open();
    cmd.Parameters.AddWithValue("@client_code", myTExtbox.Text);
    DataTable dt = new DataTable();
    using (SqlDataAdapter da=new SqlDataAdapter(cmd))
    {          
      da.Fill(dt);
    }     
    myDatGrid.DataSource=dt;