【问题标题】:Cannot bind to the new display member C#无法绑定到新的显示成员 C#
【发布时间】:2012-07-19 01:57:51
【问题描述】:

我收到此错误:无法绑定到新的显示成员 C#

        sConn = new SqlConnection(sStr);
        daSched = new SqlDataAdapter("Select Subject from Schedules where Username = '" + lblUsername.Text + "'", sConn);
        dsSched = new DataSet();
        daSched.Fill(dsSched, "Schedules");
        dsSched.Tables["Schedules"].PrimaryKey = new DataColumn[] { dsSched.Tables["Schedules"].Columns["ScheduleID"] };

        cbxSubject.DataSource = dsSched.Tables["Schedules"];
        cbxSubject.DisplayMember = "Schedule";
        cbxSubject.ValueMember = "ScheduleID";
        cbxSubject.Text = "Choose Subject";

我不知道哪里出错了。这是表 Schedules 的预览:http://i47.tinypic.com/1zzoz5z.png

感谢您的帮助。

【问题讨论】:

    标签: c# winforms combobox member


    【解决方案1】:

    您的表中没有名为“Schedule”的字段,因此控件找不到名为 Schedule 的成员,并且您只选择了主题

    ScheduleID 已经是您的主键,因此您最好将 Sql Query 更改为:

    Select ScheduleID, Subject From...(你也应该parameterize吧)

    这一行 -> dsSched.Tables["Schedules"].PrimaryKey = new DataColumn[] { dsSched.Tables["Schedules"].Columns["ScheduleID"] }; 是不必要的。

    据我所知,我相信您希望您的展示成员成为“主题”

    另外 - 你应该打开你的连接(我在你的帖子中没有看到它) - 更理想的是将它包装在 using 语句中

    类似:

    using (SqlConnection con = new SqlConnection(connectionString))
        {
            string userName = lblUsername.Text;
            con.Open(); 
            var adapter = new SqlDataAdapter("Select ScheduleID, Subject From 
                                     Schedules Where Username = @username", conn);
            adapter.Parameters.Add("@username", SqlDbType.VarChar, 50, userName)
            var dsSched = new DataSet();
            adapter.Fill(dsSched);
    
            cbxSubject.DataSource = dsSched.Tables[0];
            cbxSubject.DisplayMember = "Subject";
            cbxSubject.ValueMember = "ScheduleID";
            cbxSubject.DataBind();
    
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-14
      • 1970-01-01
      • 2013-04-18
      相关资源
      最近更新 更多