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);

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)