c#wpf使用特定参数从sql数据库填充combobox

时间:2018-03-05 08:31:22

标签: c# wpf

我有问题从sql server获取具有参数的特定值可以任何人解释我为什么它在winfom上工作但不在wpf以及我如何修复它 我的代码:

 private void UpdateItems()
    {
           COMBOBOX1.Items.Clear();
           SqlConnection conn = new SqlConnection(Properties.Settings.Default.constring.ToString());
           SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM CLIENT where cod_cli="some_specific_string", conn);
           DataSet ds = new DataSet();
           da.Fill(ds, "CLIENT");
           COMBOBOX1.ItemsSource = ds.Tables[0].DefaultView;
           COMBOBOX1.DisplayMemberPath = ds.Tables[0].Columns["FR"].ToString();
           COMBOBOX1.SelectedValuePath = ds.Tables[0].Columns["FC"].ToString();


    }

程序执行此函数时发生错误

  

System.Data.SqlClient.SqlException:'列名无效   ' some_specific_string''

由于

2 个答案:

答案 0 :(得分:0)

解决方案是

 SqlConnection sqlConnection = new SqlConnection(Properties.Settings.Default.constring.ToString());
        {
            SqlCommand sqlCmd = new SqlCommand("SELECT * FROM CLIENTS where cod_cli=@cod", sqlConnection);
            sqlCmd.Parameters.AddWithValue("@cod", cod_cli.Text);
            sqlConnection.Open();
            SqlDataReader sqlReader = sqlCmd.ExecuteReader();

            while (sqlReader.Read())
            {
                COMBOBOX1.Items.Add(sqlReader["FR"].ToString());
            }

            sqlReader.Close();
        }

查询不识别字符串作为参数,但添加为sql参数它可以工作。谢谢

答案 1 :(得分:0)

SqlConnection conn = new SqlConnection(Properties.Settings.Default.constring.ToString());
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM CLIENT where cod_cli="some_specific_string", conn);
DataSet ds = new DataSet();
da.Fill(ds, "CLIENT");

//Populate the combobox
COMBOBOX1.ItemsSource = ds.Tables[0].DefaultView;
COMBOBOX1.DisplayMemberPath = "FR";`enter code here`
COMBOBOX1.SelectedValuePath = "FC";

where“ FR”和“ FC”是SELECT查询中的现有列