您只需要返回最新的20條記錄每分鐘,因此,例如使用定時器控制,並在其Tick事件中讀取最後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 Event中調用您的圖表函數。我想象你將需要刪除/存檔舊記錄並清除X值也是Y值變量。 請注意未經測試。