如何使用依赖于用户输入的sql查询填充图表

时间:2012-10-03 14:39:37

标签: c# asp.net sql-server charts

我有一个asp.net页面,其中有一个我从工具箱设计器拖动的图表。我知道如果单击此图表,将出现“图表任务”菜单,以便我可以定义sql数据源,图表类型和x& y值。我遇到的问题是我的SQL数据源需要用户输入。我希望用户根据输入日期输入日期和搜索记录。因此,我无法在图表任务菜单上定义一个SQL查询,因为它会告诉我我的查询无效。到目前为止,我的代码看起来像这样:

con1.Open();
    SqlCommand cmd2 = new SqlCommand (string.Format ("select CustomerName, AccountNumber,  DateReading, Time, ID from dbo.NewLogTable join dbo.CustomerTable on ID = Customer_ID join dbo.VoltageTable on Voltage_Reading = Provided_Voltage where Sensor_ID = 'FA0009' and DateReading= '{0}' " ,TextBox1.Text), con1);
    SqlDataAdapter da2 = new SqlDataAdapter(cmd2);
    DataSet ds2 = new DataSet();
    da2.Fill(ds2);
    Chart2.DataSource = da2;
    Chart2.Visible = true;
    Chart2.DataBind();

    con1.Close();

每当我输入日期并单击按钮时,都不会发生任何事情。我知道sqlCommand是正确的。但是,我找不到为我的图表设置x和y值的方法。我尝试了Chart2.Xvalue和.parameters,但无法找到设置它们的方法。我认为那是给我带来麻烦的。任何人都可以对这个问题有所了解吗?感谢。

1 个答案:

答案 0 :(得分:1)

使用:

您必须为图表指定 DataSet ds2作为DataSource ,而不是使用SqlDataAdapter da2。

Chart2.DataSource = ds2;

而不是

Chart2.DataSource = da2;