C#交通数据采集及整理方法的设计与实现(24)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

C#交通数据采集及整理方法的设计与实现(24)


                         {
                             xlApp.Cells[1, i + 1] = table.Columns[i].Caption;
                         }
                     for (int i = 0; i < table.Columns.Count; i++)
                         {
                             for (int j = 0; j < table.Rows.Count; j++)
                                {
                                    String temp = table.Rows[j][i].ToString();
                                    xlApp.Cells[j + 2, i + 1] = temp;
                                }
                     }//使用两个循环,变量i,j分别表示列数列数,并逐个单元导出数据
5.4.2    图表查询功能的实现
要实现图表查询的功能需要首先在C#中安装一个chart控件以实现画图功能。其中本系统包括两种图表查询,即历史数据的图表查询和当天数据的图表查询。前者是根据阈值表中的历史数据,将日期判断为星期几的模式,从而进一步判断一周七天每个路段在不同时间点的速度和流量的最大,最小和平均值。从中用户可以看出每个路段在一星期中某天的交通状况,这些结果是根据历史数据生成的。而在当天数据查询中,用户可以选择特定日期,查看某一路段的速度和流量变化。该功能的系统界面如图5.6所示:
 
图 5.6    历史数据图表查询界面

实现这两种功能的核心代码如下所示(限于篇幅,在此仅列出15分钟时间间隔的流量历史数据查询功能代码)[12]。
            string oradb = "Data Source=(DESCRIPTION=(ADDRESS_LIST="
+ "(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))"
+ "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=SQL)));"
+ "User Id=sde;Password=sde;";//连接数据库的相关信息
            SqlConnection conn = new SqlConnection(oradb);
            if (this.comboBox4.SelectedItem.ToString() == "15分钟")
            {
                string sql = @"select TM,MAXV, minv,avgv from(select descriptio,substr(tm,12,6) TM,TO_CHAR(TO_DATE(SUBSTR(TM,0,11),'YYYY-MM-DD'),'DAY') WEEK_DAY,MAX(to_number(vol,'9999')) MAXV,MIN(to_number(vol,'9999')) MINV,round(avg(to_number(vol,'9999')),0) avgv from temp_15mvol (责任编辑:qin)