C# 数据绑定错误:下拉列表和数据库

C# 数据绑定错误:下拉列表和数据库,c#,asp.net,data-binding,drop-down-menu,C#,Asp.net,Data Binding,Drop Down Menu,我得到一个错误: 数据绑定:“System.Data.DataRowView”不包含属性 名称为“系统名称” 我有一个下拉列表,它从系统表中获取数据。代码: string queryStringForSystem = "SELECT system_name FROM ptdd.systems where system_id=(select system_id from ptdd.parameters where parameter_id='" + txtParameterId.Text + "'

我得到一个错误:

数据绑定:“System.Data.DataRowView”不包含属性 名称为“系统名称”

我有一个下拉列表,它从系统表中获取数据。代码:

string queryStringForSystem = "SELECT system_name FROM ptdd.systems where system_id=(select system_id from ptdd.parameters where parameter_id='" + txtParameterId.Text + "')";
string odbccon = "Driver={IBM DB2 ODBC DRIVER};database=dd_unify;hostname=x.x.x.x;protocol=TCPIP;port=50000;uid=xxxx;pwd=xxxx";            
using (System.Data.Odbc.OdbcConnection odbcConnection = new System.Data.Odbc.OdbcConnection(odbccon))
                {
                    System.Data.Odbc.OdbcDataAdapter adapter = new System.Data.Odbc.OdbcDataAdapter(queryStringForSrdRefId, odbccon);
                    System.Data.DataSet dataSet = new System.Data.DataSet();
                    try
                    {
                        odbcConnection.Open();
                        adapter.Fill(dataSet);
                        ddrSystem.DataSource = dataSet.Tables[0];
                        ddrSystem.DataTextField = "system_name";
                        ddrSystem.DataValueField = "system_id";
                        ddrSystem.DataBind();

                    }

                catch (Exception e1)
                {
                    Console.WriteLine(e1.Message);
                }
此外,我还提到了datatextfield和datavalue字段

<asp:DropDownList ID="ddrSystem" runat="server" DataTextField="system_name" DataValueField="system_id">
                </asp:DropDownList>


不过,这是个小问题。无法解决此问题。

请尝试从更改查询

从…中选择系统名称

从中选择系统id、系统名称

原因:代码正在查找系统id,但该字段不在查询中

ddrSystem.DataTextField=“系统名称”

ddrSystem.DataValueField=“系统id


databind
上,可能会引发异常,因为您没有在选择列表中选择
system\u id
,因此您的
ddrSystem.DataValueField
将无效。这意味着您尝试用下拉列表绑定的数据集没有任何名为“system\u name”的列。您需要确保用于绑定下拉列表的查询结果中存在该字段(根据您的条件)。@QuintonBernhardt当我选择system_name作为ValueField时,它抛出了相同的字段Exception@Srinivas我之前已经证实了这一点。列名与将ddrSystem.DataSource=dataSet.Tables[0]替换为ddrSystem.DataSource=dataSet的查询和数据文本/值字段中的列名匹配