如何将数据列返回到vb.net中的组合框?

时间:2016-11-14 13:44:59

标签: mysql vb.net combobox

这是一种形式的代码。

D_AUTHORS.DataSource = Authors_Module.show_all_the_authors()

这是另一种形式的功能。

Public Function show_all_the_authors() As DataTable
....
....
Return dt
End Function

这里D_AUTHORS是一个DataGridView。我只是调用Authors_Module中的show_all_the_authors()方法将值返回给DataGridView。我使用DataTable作为返回类型。

以同样的方式,我想将值返回到组合框。

  C_DISTRICT.DataSource = Combo_Loader_Module.load_district()

其中C_DISTRICT是一个组合框。

Public Function load_district() As DataTable
    DB_Con_Module.con.Open()
    Dim strsql As String = "SELECT DSNAME FROM DISTRICT ORDER BY DSNAME"
    Dim cmd_district As New MySqlCommand(strsql, DB_Con_Module.con)
    Dim da As MySqlDataAdapter = New MySqlDataAdapter(cmd_district)
    Dim dt As New DataTable("DSNAME")
    da.Fill(dt)
    If dt.Rows.Count > 0 Then
        Return dt
    End If
    DB_Con_Module.con.Close()
End Function

所以,我在这里也使用了相同的返回类型,但它失败了。

Public Sub load_district()
    DB_Connections.con.Open()
    Dim strsql As String = "SELECT DSNAME FROM DISTRICT ORDER BY DSNAME"
    Dim cmd_district As New MySqlCommand(strsql, DB_Connections.con)
    Dim da As MySqlDataAdapter = New MySqlDataAdapter(cmd_district)
    Dim dt As New DataTable("district")
    da.Fill(dt) 
    If dt.Rows.Count > 0 Then
        Authors.C_DISTRICT.DataSource = dt
        Authors.C_DISTRICT.DisplayMember = "DSNAME"
    End If
    DB_Connections.con.Close()
End Sub

此功能(即)虽然没有返回值,但它有效。 但是当我试图将值返回为

Return dt

然后它失败了。为什么会这样?我错在哪里?

This is the output that I got

0 个答案:

没有答案