您每分钟只需要返回最新的 20 条记录,因此例如使用计时器控件并在其滴答事件中获取插入数据库的最后 20 条记录。
在 Microsoft Access 中,创建一个查询以确认您应该在 .Net 应用程序中返回的结果。这是在 MS Access 中运行的 SQL 查询:
SELECT TOP 20 * FROM tblData ORDER BY DateCreated
或者
SELECT TOP 20 * FROM tblData ORDER BY tblID DESC
现在在您的 .net 应用程序中,您需要使用以下命名空间:
Imports System.Data.OleDb
然后从 Access 数据库中读取最后 20 个值:
Private Xvalues as New List(Of Integer)
Private Yvalues as New List(Of Integer)
Private Sub GetData()
Dim con As OleDbConnection
Dim sql As String
str = "Provider=Microsoft.Jet.oledb.4.0;Data Source=C:\yourAccessDB.mdb;"
con = New OleDbConnection(str)
sql = "SELECT TOP 20 * FROM tblData ORDER BY DateCreated"
Dim cmd As OleDbCommand
Dim r As OleDbDataReader
Try
con.Open()
cmd = New OleDbCommand(sql, con)
r = cmd.ExecuteReader()
While dr.Read()
XValues.Add(Convert.ToInt32(r("chartX")))
YValues.Add(Convert.ToInt32(r("chartY")))
End While
r.Close()
con.Close()
Catch ex As OleDbException
MsgBox(ex.Message, MsgBoxStyle.Critical, “Oledb Error”)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, “General Error”)
End Try
End Sub
然后挂钩上面的 GetData() 方法和要在 Timers Tick 事件中调用的图表函数。我想您还需要删除/存档旧记录并清除 X 和 Yvalue 变量。
请注意未经测试。