求助:vb调用SQL数据库中的表,将表中数据用mschart画出曲线图(附程序)
各位大侠:
本人问题RT,想要做个界面,将数据库中的程序用曲线显示出来,网上找了许多例子,都是ACCESS数据库的,借用了一下,弄了许久都不见曲线,故来求赐教,不胜感激,先谢过各位啦。
我的程序如下:总觉得数据库给mschart赋值未成功,希望各位给予赐教,不胜感激!
Private Sub Command1_Click()
Dim DblSec As Double, MaxSec As Double, MinSec As Double, TempSec As Double
Dim strconn As String ' 定义连接字符串
Dim MyCon As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim MyData() As Double
strconn = " Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;password =333666;Initial Catalog =node;DataSource= (local)"
MyCon.ConnectionString = strconn: MyCon.Open
Rst.Open "select * from stOdr", MyCon, adOpenKeyset, adLockOptimistic '表的名字为:gytagb,可根据需要来更改
'conn.Open strconn
ReDim MyData(Rst.RecordCount + 1, 1)
MaxSec = 0: MinSec = 0: MinSec = 0
For i = 0 To Rst.RecordCount + 1
MyData(i, 0) = Rst("时间").Value '第一列存放X轴数据
MyData(i, 1) = Rst("温度").Value '第二列存放Y轴数据
TempSec = DateDiff("s", "0:0:0", Rst.Fields("时间").Value)
If i = 0 Then
MaxSec = TempSec: MinSec = TempSec
End If
If TempSec > MaxSec Then MaxSec = TempSec '求最大值
If TempSec < MinSec Then MinSec = TempSec '求最小值
Rst.MoveNext
Next
Rst.Close: MyCon.Close
Set Rst = Nothing: Set MyCon = Nothing
'波形图外观设置
With MSChart1
.chartType = VtChChartType2dXY '设置图形为二维散点图'注意本语句的位置,如果放在最后X轴坐标将显示成小数而非时间格式
.TitleText = "温度"
' '设置图线的外观
.Plot.SeriesCollection(1).Pen.Width = 30
.Plot.SeriesCollection(1).Pen.Style = VtPenStyleSolid
'设置XY轴
.Plot.Axis(VtChAxisIdX).ValueScale.Auto = False
.Plot.Axis(VtChAxisIdY).ValueScale.Auto = False
'// 设置最大值
.Plot.Axis(VtChAxisIdX).ValueScale.Maximum = 40950 '这里根据你的数据库中的最大值设置一合适值
.Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 40 '这里根据你的数据库中的最大值设置一合适值
'// 设置最小值
.Plot.Axis(VtChAxisIdX).ValueScale.Minimum = 40600
.Plot.Axis(VtChAxisIdY).ValueScale.Minimum = -10
'设置X轴标签显示格式
.Plot.Axis(VtChAxisIdX).Labels(1).Format = "yyyy-m-d hh:mm"
.Plot.Axis(VtChAxisIdX).ValueScale.MajorDivision = 12 'X轴主要网格数量
.Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision = 10 'Y轴主要网格数量
.Plot.Axis(VtChAxisIdX).ValueScale.MinorDivision = 0 'X轴次要网格数量
.Plot.Axis(VtChAxisIdY).ValueScale.MinorDivision = 0 'Y轴次要网格数量
.Plot.Axis(VtChAxisIdX).AxisGrid.MajorPen.Style = VtPenStyleDotted
.Plot.Axis(VtChAxisIdY).AxisGrid.MajorPen.Style = VtPenStyleDotted
.Plot.Axis(VtChAxisIdX).Labels(1).VtFont.Size = 7
.Plot.AutoLayout = False
.Plot.UniformAxis = False
.ChartData = MyData '数据
End With
End Sub
唉 贴不上来图!就是运行后没有曲线 其他都有
本人问题RT,想要做个界面,将数据库中的程序用曲线显示出来,网上找了许多例子,都是ACCESS数据库的,借用了一下,弄了许久都不见曲线,故来求赐教,不胜感激,先谢过各位啦。
我的程序如下:总觉得数据库给mschart赋值未成功,希望各位给予赐教,不胜感激!
Private Sub Command1_Click()
Dim DblSec As Double, MaxSec As Double, MinSec As Double, TempSec As Double
Dim strconn As String ' 定义连接字符串
Dim MyCon As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim MyData() As Double
strconn = " Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;password =333666;Initial Catalog =node;DataSource= (local)"
MyCon.ConnectionString = strconn: MyCon.Open
Rst.Open "select * from stOdr", MyCon, adOpenKeyset, adLockOptimistic '表的名字为:gytagb,可根据需要来更改
'conn.Open strconn
ReDim MyData(Rst.RecordCount + 1, 1)
MaxSec = 0: MinSec = 0: MinSec = 0
For i = 0 To Rst.RecordCount + 1
MyData(i, 0) = Rst("时间").Value '第一列存放X轴数据
MyData(i, 1) = Rst("温度").Value '第二列存放Y轴数据
TempSec = DateDiff("s", "0:0:0", Rst.Fields("时间").Value)
If i = 0 Then
MaxSec = TempSec: MinSec = TempSec
End If
If TempSec > MaxSec Then MaxSec = TempSec '求最大值
If TempSec < MinSec Then MinSec = TempSec '求最小值
Rst.MoveNext
Next
Rst.Close: MyCon.Close
Set Rst = Nothing: Set MyCon = Nothing
'波形图外观设置
With MSChart1
.chartType = VtChChartType2dXY '设置图形为二维散点图'注意本语句的位置,如果放在最后X轴坐标将显示成小数而非时间格式
.TitleText = "温度"
' '设置图线的外观
.Plot.SeriesCollection(1).Pen.Width = 30
.Plot.SeriesCollection(1).Pen.Style = VtPenStyleSolid
'设置XY轴
.Plot.Axis(VtChAxisIdX).ValueScale.Auto = False
.Plot.Axis(VtChAxisIdY).ValueScale.Auto = False
'// 设置最大值
.Plot.Axis(VtChAxisIdX).ValueScale.Maximum = 40950 '这里根据你的数据库中的最大值设置一合适值
.Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 40 '这里根据你的数据库中的最大值设置一合适值
'// 设置最小值
.Plot.Axis(VtChAxisIdX).ValueScale.Minimum = 40600
.Plot.Axis(VtChAxisIdY).ValueScale.Minimum = -10
'设置X轴标签显示格式
.Plot.Axis(VtChAxisIdX).Labels(1).Format = "yyyy-m-d hh:mm"
.Plot.Axis(VtChAxisIdX).ValueScale.MajorDivision = 12 'X轴主要网格数量
.Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision = 10 'Y轴主要网格数量
.Plot.Axis(VtChAxisIdX).ValueScale.MinorDivision = 0 'X轴次要网格数量
.Plot.Axis(VtChAxisIdY).ValueScale.MinorDivision = 0 'Y轴次要网格数量
.Plot.Axis(VtChAxisIdX).AxisGrid.MajorPen.Style = VtPenStyleDotted
.Plot.Axis(VtChAxisIdY).AxisGrid.MajorPen.Style = VtPenStyleDotted
.Plot.Axis(VtChAxisIdX).Labels(1).VtFont.Size = 7
.Plot.AutoLayout = False
.Plot.UniformAxis = False
.ChartData = MyData '数据
End With
End Sub
唉 贴不上来图!就是运行后没有曲线 其他都有
...全文
相关推荐
VB调用数据库数据画mschart折线图
### VB调用数据库数据画MsChart折线图详解#### 一、背景介绍在软件开发过程中,将数据库中的数据可视化展示是一种常见的需求。
VB与SQL VB6.0中通过MSChart控件调用数据库
### VB6.0中通过MSChart控件调用数据库#### 概述在VB6.0中,MSChart控件被广泛应用于图形界面应用程序中,以实现对数据的可视化展示。
VB调用数据库数据画mschart折线图.pdf
VB调用数据库数据画MSChart折线图VB调用的数据库数据画MSChart折线图是指使用Visual Basic(VB)语言调用数据库中的数据,并将其绘制成MSChart折线图的过程。
VB调用数据库数据画mschart折线图.doc
"VB调用数据库数据画mschart折线图.doc"这篇文档涉及的知识点主要是如何使用Visual Basic (VB) 和VBA (Visual Basic for Applications)
ASP动态曲线图表实现指南
ASP(Active Server Pages)是微软公司推出的一种用于服务器端开发的脚本环境,它的出现极大地简化了动态网页的开发,尤其是数据库交互方面的工作。ASP提供了一种简单的方式来结合HTML页面和服务器端脚本。ASP文件通常以“.asp”为扩展名,并且能够在大多数Web服务器上运行,如微软的IIS。在本章节中,我们将先概述ASP的基本概念,包括其工作原理和在Web开发中的应用。


数据库(包含打印,安装,报表)
