【发布时间】:2013-12-30 15:48:06
【问题描述】:
我正在使用 VB.net 和 mysql,我有一个函数可以用 mysql 内容填充数据表,然后将其(根据需要)发布到列表视图。此功能目前在一个每 5 秒激活一次的计时器上,不幸的是,这对我的软件的拖放功能造成了可怕的破坏。
解决方案:我决定在将内容填充到listview之后将活动数据表中的内容复制到另一个数据表进行比较,每次从mysql数据库中获取数据时都将其保存到数据表中并比较两者数据表 - 如果它们不相同,则软件应运行该函数,但是如果它们相同,则没有理由使用相同的确切数据更新列表视图。
Public pendrun As New DataTable
Public postrun As New DataTable
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
con.ConnectionString = "server=localhost;" _
& "user id=user;" _
& "password=password;" _
& "database=DMT"
adptr = New MySqlDataAdapter("Select * from data", con)
Try
adptr.Fill(pendrun)
Catch err As Exception
Dim strError As String = "Exception: & err.ToString()"
End Try
if pendrun <> postrun then
ListView2.Items.Clear()
pendrun.Clear()
' commands to add
' pendrun datatable information
' to listview
postrun = pendrun 'to transfer data to the holding datatable
end if
问题是
if pendrun <> postrun then
不是比较数据表的有效方法。 如何识别数据表是否相同(所有行和列都相同)
【问题讨论】: