using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using DevComponents.DotNetBar; using System.Data.SqlClient; using GeoScene.Data; using GeoScene.Engine; using GeoScene.Globe; using System.Windows.Forms.DataVisualization.Charting; using System.Data.OracleClient; namespace Cyberpipe { public partial class FrmBSQStatis : Office2007Form { public Dictionary<string, int> bsq = new Dictionary<string, int>(); //SqlConnection conn; public static List<typeList> typeLists; OracleConnection conn; string connectString; public FrmBSQStatis() { InitializeComponent(); BSQNumStatis(); } string[] codeStr = new string[50]; string[] nameStr = new string[30]; public static List<string> pipeLists = new List<string>(); private void BSQNumStatis() { bool flag2 = false; for (int i = 0; i < Utility.listPipelineType.Count; i++) { for (int j = 0; j < pipeLists.Count; j++) { if (pipeLists[j] == Utility.listPipelineType[i].type) { flag2 = true; break; } } if (!flag2 && Utility.listPipelineType[i].type != "标识器") { pipeLists.Add(Utility.listPipelineType[i].type); } flag2 = false; } typeLists = new List<typeList>(); for (int num = 0; num <pipeLists.Count; num++) { typeList ls = new typeList(0,pipeLists[num]); typeLists.Add(ls); } try { conn = OledbHelper.sqlConnection(); conn.Open(); OracleCommand cmd; cmd = new OracleCommand("select 对象名称 from 标识器", conn); OracleDataReader dr = cmd.ExecuteReader(); bsq.Clear(); while (dr.Read()) { string str =Convert.ToString(dr["对象名称"]); codeStr = str.Split(','); for(int n=0;n<codeStr.Length;n++) { for (int i = 0; i < Utility.listPipelineType.Count; i++) { if (Utility.listPipelineType[i].code == codeStr[n]) { for (int m = 0; m < typeLists.Count; m++) { if (Utility.listPipelineType[i].type == typeLists[m].type) { typeLists[m].num++; break; } } break; } } } } conn.Close(); for (int i = 0; i < typeLists.Count; i++) { if (typeLists[i].num > 0) bsq.Add(typeLists[i].type, typeLists[i].num); } } catch (Exception ex) { } } private void FrmBSQStatis_Load(object sender, EventArgs e) { try { chartStatis.Series.Add("标识器"); chartStatis.ChartAreas["ChartArea1"].AxisX.Title = "标识器类型"; chartStatis.ChartAreas["ChartArea1"].AxisY.Title = "标识器个数"; chartStatis.ChartAreas["ChartArea1"].AxisX.Interval = 1; chartStatis.Series[0].ChartType = SeriesChartType.Column; chartStatis.Series[0]["DrawingStyle"] = "Cylinder"; chartStatis.Series[0].Points.DataBindXY(bsq.Keys, bsq.Values); for (int m = 0; m < bsq.Values.Count; m++) { if (chartStatis.Series[0].Points[m].YValues[0].ToString().Trim() != "0") { chartStatis.Series[0].Points[m].Label = chartStatis.Series[0].Points[m].YValues[0].ToString(); } } } catch (Exception ex) { } } public class typeList { public int num; public string type; public typeList(int _num, string _type) { num = _num; type = _type; } } } }