【发布时间】:2014-04-24 16:02:19
【问题描述】:
我正在 VB.NET 中创建一个程序,它使用在线 MySQL 数据库来检索某些数据。我现在已经成功地连接并从中获得了一些基本的东西。现在,我想做的是,当用户按下按钮时,它必须更新列表。发生的情况是,已经在数据库中的内容也被重新发送,因此列表只是自己翻了一番,尽管它添加了新的数据库值。
如何确保它只向列表中添加新值,而不是再次添加列表中的所有值?我读到您可以将 Preserve 关键字与数组一起使用,尽管这不是数组,我也没有弄清楚如何将数据转换为数组。
Private Sub generateList()
DB.writeQuery("SELECT snacks.ID, snacks.naam, snacks.baktijd FROM snacks")
While DB.DR.Read
ListBox1.Items.Add(DB.DR.Item("naam"))
End While
DB.closeConnection()
End Sub
这是我用来生成列表的一段代码,我重复使用这段代码来刷新列表。如您所见,它使用了我自己编写的 MySQL 类。我知道它建立了联系,所以这没有什么问题。
任何帮助将不胜感激。
【问题讨论】:
-
“如你所见,它使用我自己编写的 MySQL 类” 避免这样做。另外,如果我们不知道您自己的课程是如何运作的,那么很难回答问题。无论如何,是的,使用
ListBox1.Items.Clear(),并确保在清除之前调用ListBox1.BeginUpdate(),并在generateList()结束时调用ListBox1.EndUpdate()。 -
另外,与其自己做繁重的工作并编写一个新的类来访问数据库,不如已经有数据访问层类为您处理这部分。这是其中之一的链接:codeproject.com/Articles/158042/…
-
感谢两位。我知道使用一个已经编写过并在过去证明过自己的类要容易得多,而且可能要安全得多。当我刚刚完成教程时,我认为自己编写一个类是一个好习惯。不过谢谢
标签: mysql arrays database vb.net