【原创】sql 按月统计,并调用zedgraph绘制
Author: chad
Mail: linczone@163.com
Try
Dim AC As New AcsDC(frmmain.StrAcsPath)
Dim FLG As Boolean = False
Dim sqlstr As String = "Select year(时间) as y,month(时间) as m,AVG(平均误差) AS ERR1 FROM Ameter "
If cmbSstarttime.Text <> "" And cmbSendtime.Text <> "" Then
sqlstr = sqlstr & " where 时间 BETWEEN #" & StratDate & "# AND #" & EndDate & "#"
FLG = True
End If
If ckbTiChuMaxErr.Checked = True Then
If FLG Then
sqlstr = sqlstr & " and abs(平均误差) < 3.0"
Else
sqlstr = sqlstr & " WHERE abs(平均误差) < 3.0"
End If
End If
sqlstr &= " group by year(时间),month(时间)"
'sqlstr &= " Order by 时间 DESC"
Dim tmpdata As DataTable = AC.GetTable(sqlstr)
For i As Int16 = 0 To tmpdata.Rows.Count - 1
DRow = dtab.NewRow
DRow("K") = ""
'DRow("日期") = Date.Parse(tmpdata.Rows(i)("y").ToString & "-" & tmpdata.Rows(i)("m").ToString).Date
DRow("日期") = tmpdata.Rows(i)("y").ToString & "-" & tmpdata.Rows(i)("m").ToString
DRow("平均误差值") = IIf(tmpdata.Rows(i)("ERR1").ToString = "", "-0", tmpdata.Rows(i)("ERR1").ToString)
dtab.Rows.Add(DRow)
Next
Me.dgvSresult.DataSource = dtab
Me.dgvSresult.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
如上所示,程序中的关键点是红色加粗部分,运行效果如下图所示: