读取数据库里面实时录入的数据并以表格和曲线显示出来的问题,请高手赐教
数据库1.mdb,access2000的,结构:1个1数据表,包括a,b,c,d,day5个字段,day为数据写入的时间,a,b,c,d为数值型数据。1个timer控件,1个mschart画曲线,1个datagrid控件出表格,一个adodc控件连接数据库,2个command按钮控件用来控制。
思路:设置一个数组 dim y(n,3)as Integer,开始监控时,利用adodc把开始监控的时候记录的第一条记录集取出,写入数组y,y 此时array(0,3)(1行4列的数组),将datagrid和mschart的datasource设置为y数组。一个循环完成,继续去最新的一条数据集,写入数组,此时y为array(1,3)(2行4列的数组),继续将将datagrid和mschart的datasource设置为y数组。当读取到第11条记录的时候,抛弃最开始的那条记录集,保持y为array(9,3)(10行4列的数组)的数组,将datagrid和mschart的datasource设置为y数组。
自己编写的程序如下,不知道为什么老是编译不成功。
dim y(n,3)as Integer
Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 300
End Sub
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer()
y=null
adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\1.mdb;Persist Security Info=False"
adodc1.RecordSource="select top 1 a,b,c,d from 1 order by day desc "
adodc1.refresh
n=0
y=y+Adodc4.Recordset
Set datagrid1.DataSource=y
Set mschart1.DateSoure=y
n=n+1
End Sub
有没有人有高手更好的解决思路提供,因为如果是select top 10 * form tablename order by day desc 这样取数据集
的话,一开始在表格和曲线上就有10个数据集了,不符合要求了。
另外,在使用mschart的DateSoure的取值的时候总是出现这样的问题,x轴的label不能自定义,X轴的刻度距离会随着获取的数据的增多而变得越来越小,是那个地方错了,还是需要用picturebox画曲线,话说还没用过picturebox,一直都是用mschart的?小白一个,恳请请高手赐