C# 从数据库中获取多个值,并在索引更改时显示在组合框和不同的文本框中#

C# 从数据库中获取多个值,并在索引更改时显示在组合框和不同的文本框中#,c#,.net,winforms,sql-server-2008,visual-studio-2013,C#,.net,Winforms,Sql Server 2008,Visual Studio 2013,我想在文本框中根据产品表中的id和组合框cBproductName中选定索引的更改显示产品代码和设备名称。我的查询提供了所有值,但无法在表单中显示 您可以更改SQL语句以包含所需的信息 比如: try { // var model =Execute.q"SELECT product.id, product.productName, product.unitId, product.productCode, units.name FROM product

我想在文本框中根据产品表中的id和组合框cBproductName中选定索引的更改显示产品代码和设备名称。我的查询提供了所有值,但无法在表单中显示

您可以更改SQL语句以包含所需的信息

比如:

   try
        {
           // var model =Execute.q"SELECT product.id, product.productName, product.unitId, product.productCode, units.name FROM product INNER JOIN units ON product.unitId = units.id";

            string query1 = "SELECT product.id, product.productName, product.unitId, product.productCode, units.name FROM product INNER JOIN units ON product.unitId = units.id";
            command = DBConnectivity.getCommandForQuery(query1, connection);
            dataset = new DataSet();
            adapter = new SqlDataAdapter(command);
            adapter.Fill(dataset);
            int reslut = command.ExecuteNonQuery();
            this.cBproductName.DisplayMember = "productName";
            this.cBproductName.ValueMember = "id";
            datarow = dataset.Tables[0].NewRow();
            datarow["productName"] = "Select Product";
            dataset.Tables[0].Rows.InsertAt(datarow, 0);
            this.cBproductName.DataSource = dataset.Tables[0];
        }

        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);

        }
 private void cBproductName_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (this.cBproductName.SelectedValue != null)
        {
            txtProCode.Text = this.cBproductName.SelectedValue.ToString();

        }
    }
将cBproductName\u SelectedIndexChanged方法更改为:

SELECT product.productName + ' ' + product.productCode + ' ' + units.name  AS ShowText, product.id, product.productName, product.unitId, product.productCode, units.name FROM product INNER JOIN units ON product.unitId = units.id

我绑定到包含DataRow元素的数据集的组合框。

使用datareaders填充文本框
此.cBproductName
是一个新对象,没有任何内容。这将在组合框中显示所有值product name、product code和unit name,但我只需要组合框中的product name和所有其他值product code,不同文本区域中的id和单元id以及单元名称。请帮我更新答案。ComBox绑定到一个数据集,该数据集包含DataRow元素。如果您使用ComboBox.SelectedItem,则它将是一个数据行
DataRow row = this.cBproductName.SelectedItem as DataRow;
if (row != null)
{
  txtProCode.Text = row["ShowText"].ToString();
}