这是一种形式的代码。
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
然后它失败了。为什么会这样?我错在哪里?