Mysql 如何重新加载列表视图?

Mysql 如何重新加载列表视图?,mysql,vb.net,listview,listbox,refresh,Mysql,Vb.net,Listview,Listbox,Refresh,我遇到了一个问题。当主窗体加载时,它调用loadSentnbox() 它工作得很好!。但是我想从另一个表单更新数据库,然后关闭窗口并更新原始页面上的listview。我在close事件中写入loadSentbox(),但listview没有显示任何内容。 解决办法是什么?(我是vb.net新手。不要编写复杂的代码)试试这段代码 公共子数据库列表视图(ByVal strcon作为字符串,ByVal strcmd作为字符串,ByVal list作为列表视图) list.Items.Clear() D

我遇到了一个问题。当主窗体加载时,它调用loadSentnbox()

它工作得很好!。但是我想从另一个表单更新数据库,然后关闭窗口并更新原始页面上的listview。我在close事件中写入loadSentbox(),但listview没有显示任何内容。
解决办法是什么?(我是vb.net新手。不要编写复杂的代码)

试试这段代码
公共子数据库列表视图(ByVal strcon作为字符串,ByVal strcmd作为字符串,ByVal list作为列表视图)
list.Items.Clear()
Dim dr1作为SqlClient.SqlDataReader
Dim con作为新的SqlClient.SqlConnection(strcon)
尺寸i为整数=0
Dim cmd作为新的SqlClient.SqlCommand
将项目设置为新的ListViewItem
con.Open()
cmd=newsqlclient.SqlCommand(strcmd,con)
dr1=cmd.ExecuteReader
While(dr1.Read())
item=新建ListViewItem()
item.Text=dr1(0).ToString
i=1
而我项目.子项目.添加(dr1(i).ToString)
i=i+1
结束时
列表.项目.添加(项目)
结束时
dr1.Close()
con.Close()

End Sub

确保在重新加载之前清除ListView项(或者从DB重新读取时会有重复项),并且确保没有对第二个表单的实例调用loadSentBox()。您可能需要在这里发布更多代码来获得一些好的答案。您已经说明了您发布的方法是有效的,因此问题将出现在其他地方。
Public Sub loadSentbox()
    logmysql()
    Try

        Dim sqlquery As String
        logmysql()
        sqlquery = "SELECT * FROM files_tr WHERE `from` = '" + user + "'"
        mysqlCommand = New MySqlCommand(sqlquery, mysqlCon)
        'Open the Db
        mysqlCon.Open()
        mysqlReader = mysqlCommand.ExecuteReader
        While mysqlReader.Read
            Dim i As ListViewItem
            ltv_sentbox.BeginUpdate()
            i = ltv_sentbox.Items.Add(mysqlReader.Item("to"))
            i.SubItems.Add(mysqlReader.Item("filename"))
            i.SubItems.Add(mysqlReader.Item("size"))
            i.SubItems.Add(mysqlReader.Item("status"))
            ltv_inbox.Update()
            ltv_inbox.EndUpdate()
        End While
        mysqlCon.Close()
        'ltv_sentbox.Refresh()
    Catch ex As Exception
        MsgBox(ex.ToString, MsgBoxStyle.Critical)
    End Try
End Sub