Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将datareader绑定到asp图表控件_C#_Asp.net_Mschart - Fatal编程技术网

C# 将datareader绑定到asp图表控件

C# 将datareader绑定到asp图表控件,c#,asp.net,mschart,C#,Asp.net,Mschart,本质上,我有一个datareader,理论上它将调用storedprocedure,并绑定返回到图表的查询 这是我希望绑定到图表的数据: ForecastDesc Previous Current Budget Forecast 4 Forecast 7 Period1 966025.79 1466872.95 1000000.00 0.00 0.00 Period2 1051175.09 1489785.15 1000000.00 0.00 0.00

本质上,我有一个datareader,理论上它将调用storedprocedure,并绑定返回到图表的查询

这是我希望绑定到图表的数据:

ForecastDesc    Previous    Current Budget  Forecast 4  Forecast 7 
Period1 966025.79   1466872.95  1000000.00  0.00    0.00
Period2 1051175.09  1489785.15  1000000.00  0.00    0.00
Period3 1205352.26  1552806.49  1000000.00  0.00    0.00
Period4 1261483.84  1544562.06  1000000.00  50.00   0.00
Period5 1298918.58  1681396.55  1000000.00  45.00   0.00
Period6 1314396.68  1611695.58  10000000.00 50.50   0.00
Period7 1465150.48  1622354.24  1000000.00  50.50   123.00
Period8 1426084.73  1632609.46  1000000.00  50.50   0.00
Period9 1395144.09  370334.88   1000000.00  50.50   0.00
Period10    1347280.57  0.00    1000000.00  50.50   0.00
Period11    1374741.53  0.00    1000000.00  50.50   0.00
Period12    1331704.11  0.00    1000000.00  50.20   0.00
Period13    1367272.27  0.00    1000000.00  50.70   0.00
我的vb代码如下:

    Protected Sub YearList_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles YearList.SelectedIndexChanged

    Chart1.Visible = True

    mySqlConn = New SqlConnection
    mySqlConn.ConnectionString = "Server=" + dbServerName + "; Database=" + dbCatalogName + "; Trusted_Connection=True;"


    pSql = New SqlCommand

    pSql.Connection = mySqlConn
    pSql.CommandType = CommandType.StoredProcedure
    pSql.CommandText = "dbo.[sp_DW_Transpose_BudgetForecast]"


    pSql.Parameters.Add("@seg1", SqlDbType.NVarChar)
    pSql.Parameters.Add("@seg2", SqlDbType.NVarChar)
    pSql.Parameters.Add("@seg3", SqlDbType.NVarChar)
    pSql.Parameters.Add("@year", SqlDbType.NVarChar)

    pSql.Parameters("@seg1").Value = Seg1.SelectedItem.Text
    pSql.Parameters("@seg2").Value = Seg2.SelectedItem.Text
    pSql.Parameters("@seg3").Value = Seg3.SelectedItem.Text
    pSql.Parameters("@year").Value = YearList.SelectedItem.Text

    pSql.Connection.Open()
    pReader = pSql.ExecuteReader(CommandBehavior.CloseConnection)

    While pReader.Read()
        Chart1.DataBindTable(pReader)
    End While

    pReader.Close()
    pReader = Nothing

    mySqlConn.Close()



End Sub
当我的web程序准备创建图表时,出现以下错误:

Server Error in '/' Application.

Specified method is not supported.

Description: An unhandled exception occurred during the execution of the current web          request. Please review the stack trace for more information about the error and where it   originated in the code. 

Exception Details: System.NotSupportedException: Specified method is not supported.

Source Error: 


Line 111:
Line 112:        While pReader.Read()
Line 113:            Chart1.DataBindTable(pReader)
Line 114:        End While
Line 115:


Stack Trace: 


[NotSupportedException: Specified method is not supported.]
 System.Data.Common.DbEnumerator.Reset() +65
 System.Web.UI.DataVisualization.Charting.ChartImage.GetDataSourceMemberNames(Object     dataSource, Boolean usedForYValue) +2363
 System.Web.UI.DataVisualization.Charting.ChartImage.DataBindTable(IEnumerable dataSource, String xField) +59
 System.Web.UI.DataVisualization.Charting.Chart.DataBindTable(IEnumerable dataSource) +36
 Forecasting.WebForm1.YearList_SelectedIndexChanged(Object sender, EventArgs e) in 
 System.Web.UI.WebControls.ListControl.OnSelectedIndexChanged(EventArgs e) +113
 System.Web.UI.WebControls.DropDownList.RaisePostDataChangedEvent() +143
     System.Web.UI.WebControls.DropDownList.System.Web.UI.IPostBackDataHandler.RaisePostDataChangedEvent() +10
 System.Web.UI.Page.RaiseChangedEvents() +135
 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean    includeStagesAfterAsyncPoint) +4867

 Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET    Version:4.0.30319.1

无论如何,我不确定Databindtable是否是我应该使用的正确方法,甚至可能是Databindcrosstable。我已经盯着这个问题看了四天了,现在我希望你的专业知识能指引我正确的方向

我认为问题在于您正在调用.DataBindTable并传入DataReader,但DataReader没有实现IEnumerable,因此该方法不受支持。尝试将数据转储到DataTable或DataSet中,并将其作为参数传递给.DataBindTable


我认为问题在于您正在调用.DataBindTable并传入DataReader,但DataReader没有实现IEnumerable,因此该方法不受支持。尝试将数据转储到DataTable或DataSet中,并将其作为参数传递给.DataBindTable


实际上,我发现我不需要在存储过程中转置数据。在我学习数据绑定表之前,我就开始转置了。一旦我进行了转置,它确实会动态地显示我的图表,但不是以我需要实现的方式。我实际上发现我不需要在存储过程中转置数据。在我学习数据绑定表之前,我就开始转置了。一旦我取出转置,它会动态地显示我的图表,但不是以我需要实现的方式。