wxy新人小白 2019-07-31 09:27 采纳率: 31.3%
浏览 417

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条回答 默认 最新

  • threenewbee 2019-07-31 11:22
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services