【问题标题】:dynamic binding of chart from database in VS2010 in C#C#中VS2010中数据库图表的动态绑定
【发布时间】:2012-03-28 22:35:35
【问题描述】:

我必须使用动态数据源创建图表,我有一个代码。它不显示错误,但图表在运行时也不可见。

这里 out_table 是我的表的名称,ADX 是它的列之一。

代码:

OleDbConnection con1 = new OleDbConnection(@"PROVIDER=Microsoft.ACE.OLEDB.12.0;DATA SOURCE=RS.accdb");
String sqlo = "Select ADX from " + out_table + "";
OleDbCommand myCommand = new OleDbCommand(sqlo, con1);
myCommand.Connection.Open();
OleDbDataReader myreader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
chart1.DataBindTable(myreader, "ADX"); 

【问题讨论】:

  • 我认为您的查询不正确,无法像您希望的那样运行它,您需要使用计数。或者你可以分别绑定 x 和 y 成员
  • myreader 里面有数据吗?为什么要在这里添加一个空字符串:out_table + "";您的意思是在引号中也包含分号吗?如果问题之一是它不可见,您可能应该显示图表的视图代码。
  • out_table 是我的表的名称。并且使用引号是因为它是使我能够使用变量名的格式。我是VS2010的新手,请告诉我如何显示视图代码,截图可以吗?
  • 你想表达什么? ADX 列的可能值是多少?
  • 我的表将包含对应于每个月的每一天的 adx 值。图表将显示该时间段内的值变化。 ADX 将是数值

标签: c# ms-access charts


【解决方案1】:

感谢您帮助我。我已经解决了这个问题,对于其他人来说,这是解决方案。 这里,ds 是数据集

       OleDbConnection con1 = new OleDbConnection(@"PROVIDER=Microsoft.ACE.OLEDB.12.0;DATA SOURCE=RS.accdb");
         String sqlo = "Select * from " + out_table + "";
        OleDbDataAdapter da1 = new OleDbDataAdapter(sqlo, con);
        DataSet ds = new DataSet();
        da1.Fill(ds, in_table);
        DataView firstView = new DataView(ds.Tables[0]);
        chart1.Series[0].Points.DataBindXY(firstView, "ID", firstView, "ADX");

【讨论】:

    猜你喜欢
    • 2014-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    • 1970-01-01
    相关资源
    最近更新 更多