已有23人关注
读取实时数据库并显示的问题,请高手赐教
发表在VB答疑区 2013-03-12
是否精华
版块置顶:
 读取数据库里面实时录入的数据并以表格和曲线显示出来的问题。
      数据库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

另外,在使用mschart的DateSoure的取值的时候总是出现这样的问题,x轴的label不能自定义,X轴的刻度距离会随着获取的数据的增多而变得越来越小,是那个地方错了,还是需要用picturebox画曲线?小白一个,恳请请高手赐
分享到:
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照