【问题标题】:Winforms combobox canot bind the new value member.parameter name:valueWinforms 组合框无法绑定新值 member.parameter name:value
【发布时间】:2014-06-18 08:28:27
【问题描述】:

这是一个鳕鱼,当一个为组合框做它时,它给我一个 thes 消息 我没有说错“无法绑定新值 member.parameter name:value”

        Dim sql3 As String
           Dim dt4 As New DataTable

            sql3 = "SELECT     class.class_name, teacher.first_name, course.cours_name, class.class_char" _
    & " FROM         class INNER JOIN" _
    & "                      lecture ON class.class_num = lecture.class_num INNER JOIN" _
    & "                      course ON lecture.cours_num = course.cours_num INNER JOIN" _
    & "                      teacher ON lecture.teacher_id = teacher.teacher_id" _
    & " WHERE     (class.class_name = '" & cbox_class.Text & "') AND(teacher.first_name = '" & cbox_teacher_name.Text & "')"
            Dim da5 As New SqlDataAdapter()
            da5 = New SqlDataAdapter(sql3, conn)
            da5.Fill(dt4)
            cbox_cours.DropDownStyle = ComboBoxStyle.DropDownList
        cbox_cours.DataSource = dt4
            cbox_cours.DisplayMember = "cours_name"
            cbox_cours.ValueMember = "cours_num"

【问题讨论】:

    标签: sql .net vb.net winforms data-binding


    【解决方案1】:

    您的查询未返回 course_num

    改变

    "SELECT     class.class_name, teacher.first_name, course.cours_name, class.class_char" _
    

    "SELECT     class.class_name, teacher.first_name, course.cours_name, course.cours_num, class.class_char" _
    

    【讨论】:

      【解决方案2】:

      您的查询似乎没有返回cours_num 字段。您必须在查询中包含缺少的字段或更正 ValueMember 值,以便使用正确的字段。

      附带说明,您应该知道您当前的代码对Sql injection attacks 是开放的。您应该使用参数化查询,而不是连接 UI 控件中的值。

      【讨论】:

        猜你喜欢
        • 2010-10-23
        • 2012-03-14
        • 2017-11-09
        • 1970-01-01
        • 1970-01-01
        • 2013-08-10
        • 1970-01-01
        • 1970-01-01
        • 2013-03-01
        相关资源
        最近更新 更多