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

本文关键字:数据库 下拉列表 错误 绑定 | 更新日期: 2023-09-27 17:54:20

我得到错误:

数据绑定:"System.Data。DataRowView'不包含属性名称为system_name。

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

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和datatextfield。

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

虽然,这是一个小问题。无法解决

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

尝试从

更改查询
SELECT system_name FROM…

SELECT system_id, system_name FROM…

原因:您的代码正在寻找system_id,但该字段不在查询中。

ddrSystem。DataTextField = "system_name";

ddrSystem。DataValueField =, system_id ";