using System; using System.Collections; using System.Data; using System.Windows.Forms; using System.Windows.Forms.DataVisualization.Charting; using DevComponents.DotNetBar; namespace Cyberpipe { public partial class FrmQueryHistory : Office2007Form { string tableName = ""; string eqtID = ""; static FrmQueryHistory frm; public static void ShowForm(MainFrm mF, string _tableName,string _eqtID) { if (frm == null) { frm = new FrmQueryHistory(_tableName, _eqtID); frm.Show(mF); } else { if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; } } } public FrmQueryHistory(string _tableName, string _eqtID) { InitializeComponent(); tableName = _tableName; eqtID = _eqtID; } private void Frm_LogManager_Load(object sender, EventArgs e) { } /// <summary> /// 查询按钮事件处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_Query_Click(object sender, EventArgs e) { if (tableName != null) { string sql = "select * from " + Utility.sensorDatabase + "." + tableName + " "; ArrayList filters = new ArrayList(); if (datetimeBeginDate.LockUpdateChecked || datetimeEndDate.LockUpdateChecked) { if (datetimeBeginDate.LockUpdateChecked && datetimeEndDate.LockUpdateChecked == false) { string sql2 = " RecordDate >='" + datetimeBeginDate.Value.ToString("yyyy-MM-dd") + "'"; filters.Add(sql2); } else if (datetimeEndDate.LockUpdateChecked && datetimeBeginDate.LockUpdateChecked == false) { string sql3 = " RecordDate <= '" + datetimeEndDate.Value.ToString("yyyy-MM-dd") + "'"; filters.Add(sql3); } else { string sql4 = " RecordDate between '" + datetimeBeginDate.Value.ToString("yyyy-MM-dd") + "' and '" + datetimeEndDate.Value.ToString("yyyy-MM-dd") + "'"; filters.Add(sql4); } } string[] aa = (string[])(filters.ToArray(typeof(string))); if (aa.Length > 0) { sql += " where " + string.Join(" and ", aa); } sql += " and EqtID=" + eqtID + " group by RecordDate,RecordTime order by RecordDate,RecordTime limit 50;"; try { DataTable dt = MySqlHelper.queryDataTable(sql); if (dt != null && dt.Rows.Count > 0) { chartSensorStatus.Series[0].ChartType = SeriesChartType.Line; chartSensorStatus.ChartAreas[0].AxisX.Interval = 2; chartSensorStatus.ChartAreas[0].AxisX.Title = "时间"; chartSensorStatus.ChartAreas[0].AxisY.Title = "测量值"; chartSensorStatus.Series[0].Points.Clear(); for (int i = 0; i < dt.Rows.Count; i++) { try { if (tableName == "Data_3a") { chartSensorStatus.Series[0].Points.AddXY(((DateTime)dt.Rows[i]["RecordDate"]).ToString("yyyy-MM-dd").Trim() + " " + dt.Rows[i]["RecordTime"].ToString().Trim(), dt.Rows[i]["InstantValue"].ToString().Trim()); } else { chartSensorStatus.Series[0].Points.AddXY(((DateTime)dt.Rows[i]["RecordDate"]).ToString("yyyy-MM-dd").Trim() + " " + dt.Rows[i]["RecordTime"].ToString().Trim(), dt.Rows[i]["CollectValue"].ToString().Trim()); } } catch (Exception ex) { LogError.PublishError(ex); } } } else { MessageBox.Show("没有找到任何数据!", "提示"); } } catch (Exception ex) { LogError.PublishError(ex); MessageBox.Show(ex.Message); } } else { MessageBox.Show("没有找到任何数据!", "提示"); } } /// <summary> /// 关闭按钮事件处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_Cancel_Click(object sender, EventArgs e) { Close(); } /// <summary> /// 窗体关闭事件处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void FrmQueryHistory_FormClosing(object sender, FormClosingEventArgs e) { frm = null; } } }