DataBindTable与SqlDataReader不兼容,不实现IEnumerable

时间:2017-04-12 12:38:15

标签: c# asp.net sql-server

我在从SQL Server中的列显示数据时遇到问题,要在asp.net中的我的图表中插入x和y问题是这样的,所以似乎方法(DataBindTable)正在等待IEnumerable但是我的SqlDataReader没有实现IEnumerable。如果你能举例说明如何克服这个困难,谢谢。

这是插入代码:

protected void Chart1_Load13(object sender, EventArgs e)
{
      string cs = ConfigurationManager.ConnectionStrings["CS"].ConnectionString;
    using (SqlConnection con = new SqlConnection(cs))
    {
        SqlCommand cmd = new SqlCommand("SELECT [Consumo_Medio_Real], [Tipo_de_Fatura]  FROM [dbo].[t_faturas]", con);
        con.Open();

        SqlDataReader rdr = cmd.ExecuteReader();
        Chart1.DataBindTable(rdr,"Consumo_Medio_Real");
    }
}

这是连接代码:

  <connectionStrings>
  <add name="CS" connectionString="Data Source=ASUS;Initial 
  Catalog=DB_SACC;Persist Security Info=True;User ID=sa;Password=1234"
  providerName="System.Data.SqlClient" />
  </connectionStrings>

2 个答案:

答案 0 :(得分:0)

您可以将{dat {1}}数据表添加到数据表中:

load

答案 1 :(得分:0)

试试这个:

string cs = ConfigurationManager.ConnectionStrings["CS"].ConnectionString;
 using (SqlConnection con = new SqlConnection(cs))
 {
        SqlCommand cmd = new SqlCommand("SELECT [Consumo_Medio_Real], [Tipo_de_Fatura]  FROM [dbo].[t_faturas]", con);
        con.Open();
        SqlDataReader rdr = cmd.ExecuteReader();
        //Add datatable...
        System.Data.DataTable dt  = new DataTable();
        dt.Load(rdr);
        var enumerableTable = (dt as System.ComponentModel.IListSource).GetList();
        chart1.DataBindTable(enumerableTable , "X");

here你有答案......

希望得到这个帮助。