VS中用自带的chart生成的图,一个位置上一共要有100多次图,每次如何改变数据库连接的内容

有3个下拉框,每个下拉框有5个值可选,下拉框一次组合选择出一个chart图(VS中用自带的chart生成的图),也就是说同一位置要根据下拉框的选择出100多张曲线图,这100多张图连接的数据库的表/列不同,其他框架相同。框架代码如下

chart1.Visible = true;
            string dbPath = @"D:\历年高考分数.db";
            string sq = @"Data Source=" + dbPath;
            m = new SQLiteConnection(sq);
            m.Open();
           SQLiteDataAdapter mAdapter = new SQLiteDataAdapter("select Volume1,Volume2 from 曲线", m);//每次这里连接的据库的表/列不同,应不同
            DataSet ds = new DataSet();
            mAdapter.Fill(ds);
            DataTable dt = ds.Tables[0];
            //设置图表的数据源
            chart1.DataSource = dt;
            chart1.Series[0].IsVisibleInLegend = false;//是否显示图例
            chart1.Series["Series1"].ChartType = SeriesChartType.Spline;//形状
            chart1.Series[0].XValueMember = "Volume1";//X轴数据成员列
            chart1.Series[0].YValueMembers = "Volume2";//Y轴数据成员列
            chart1.Series[0].IsValueShownAsLabel = true;//显示坐标
            chart1.ChartAreas[0].AxisX.Title = "运行里程(万公里)";
            chart1.ChartAreas[0].AxisY.Title = "故障率(%)";
            //chart1.Titles.Add("传感器故障发生率");
            chart1.Width = 260;
            chart1.Height = 260;
            //chart1.ChartAreas[0].AxisX.Title = "运行里程(万公里)";
            //chart1.ChartAreas[0].AxisY.Title = "拉断伸长率";
            // chart1.Titles.Add ("材料特性退化曲线-拉断伸长率");
            chart1.Series[0].MarkerStyle = MarkerStyle.Circle;
            //需要提示的信息    
            //chart1.Series[0].ToolTip = "当前故障率:#VAL\n最高:#MAX\n最低:#Min\n";
            chart1.Series[0].ToolTip = "运行里程:#VALX\\n故障率:#VALY";
            //将文字移到外侧
            chart1.Series[0]["PieLabelStyle"] = "Outside";
            //chart1.Series[0].CustomProperties.EmptyPointValue = Average;
            chart1.Series[0].CustomProperties = "EmptyPointValue = Average";
            chart1.ChartAreas[0].CursorX.IsUserEnabled = true;
            chart1.ChartAreas[0].CursorX.AutoScroll = true;
            chart1.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;
            chart1.ChartAreas[0].CursorY.IsUserEnabled = true;
            chart1.ChartAreas[0].CursorY.AutoScroll = true;
            chart1.ChartAreas[0].CursorY.IsUserSelectionEnabled = true;
            chart1.DataBind();
            chart1.BringToFront();
            m.Close();

SQLiteDataAdapter mAdapter = new SQLiteDataAdapter("select Volume1,Volume2 from 曲线", m);//每次这里连接的据库的表/列不同,应不同

我该怎么改,是程序启动时才得到我要的那张图,而不是先在后台已经得到100多张图,同时减少内存消耗

图片说明

1个回答

string 变量1 = "volume1";
string 变量2 = "volume2";
string 变量3 = "曲线";
SQLiteDataAdapter mAdapter = new SQLiteDataAdapter("select " + 变量1 + "," + 变量2 + " from " + 变量3, m);

weixin_44138934
wxy新人小白 是说:SQLiteDataAdapter mAdapter = new SQLiteDataAdapter("select " + 变量1 + "," + 变量2 + " from " + 变量3, m);这行要写一百多个变量,然后用if判断,来取X、Y轴的数据源吗
7 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问