2017-04-12 15 views
0

我有一個問題,顯示來自SQL Server中的列的數據,作爲x和y插入到我的圖表中的asp.net問題是這樣的,所以它似乎是方法(DataBindTable)正在等待IEnumerable但是我的SqlDataReader沒有實現IEnumerable。如果你能給我舉例說明如何克服這個困難,謝謝。DataBindTable與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> 
+0

使用數據表Load方法使用數據讀取器填充數據表,然後綁定數據表 – Steve

+0

使用sqldataadapter將自動填充可以綁定到的數據表:https://msdn.microsoft.com/en-us/library/ system.data.sqlclient.sqldataadapter(v = vs.110).aspx – jdweng

+0

我該怎麼做@史蒂夫? –

回答

0

你可以load您的DataReader到數據表:

DataTable dt = new DataTable(); 
SqlDataReader rdr = cmd.ExecuteReader(); 
dt.Load(rdr); 
dataReader.Close(); 
Chart1.DataBindTable(dt,"Consumo_Medio_Real"); 
+0

即時通訊使用數據表中出現問題它給出此錯誤:錯誤'數據表'是'Microsoft.Office.Interop.Excel.DataTable'和'System.Data.DataTable' –

+0

之間使用類型「DataTable」之間的歧義參考使用「System.Data.DataTable」 – M84

+0

謝謝@ M56,但沒有工作 –

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你有一個答案......

希望這有助於。

+0

即時通訊使用數據表中出現問題它給出此錯誤:錯誤'數據表'是'Microsoft.Office.Interop.Excel.DataTable'和'System.Data.DataTable' –

+0

之間使用類型「數據表」時模糊引用「使用「System.Data.DataTable」 – M84

+0

謝謝@ M56但沒有工作 –