George,
Just woundering if you have any experience with Fusion Chart? My reson for needing the previous select was for a stored procedure that I want to use in s chart. I have posted the code below that I use for the chart and here is the problem. The chart shows each of the categories and compares three months (the user selects the first and last months in the three). What is happening is that when the chart fills the three months categories do not line up in the chart, meaning they should all be shown in the same order, but they don't.
Public Function CreateChart() As String
Dim ConnectStr As String = _
ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
'Database Objects - Initialization
Dim cmdFC As SqlCommand
Dim dtrFC As SqlDataReader
cmdFC = New SqlCommand
cmdFC.CommandText = "PointsChart"
cmdFC.CommandType = CommandType.StoredProcedure
cmdFC.Connection = New SqlConnection(ConnectStr)
cmdFC.Parameters.AddWithValue("@YearPassed", ddYear.SelectedValue)
cmdFC.Parameters.AddWithValue("@MonthPassed", ddMonth.SelectedValue)
cmdFC.Parameters.AddWithValue("@IndivID", Profile.Individual)
cmdFC.Connection.Open()
'Database Objects - Initialization
Dim cmdFCprev As SqlCommand
Dim dtrFCprev As SqlDataReader
cmdFCprev = New SqlCommand
cmdFCprev.CommandText = "PointsChart"
cmdFCprev.CommandType = CommandType.StoredProcedure
cmdFCprev.Connection = New SqlConnection(ConnectStr)
cmdFCprev.Parameters.Clear()
cmdFCprev.Parameters.AddWithValue("@YearPassed", ddYear.SelectedValue)
cmdFCprev.Parameters.AddWithValue("@MonthPassed", (ddMonth2.SelectedValue + 1))
cmdFCprev.Parameters.AddWithValue("@IndivID", Profile.Individual)
cmdFCprev.Connection.Open()
'Database Objects - Initialization
Dim cmdFCprev2 As SqlCommand
Dim dtrFCprev2 As SqlDataReader
cmdFCprev2 = New SqlCommand
cmdFCprev2.CommandText = "PointsChart"
cmdFCprev2.CommandType = CommandType.StoredProcedure
cmdFCprev2.Connection = New SqlConnection(ConnectStr)
cmdFCprev2.Parameters.Clear()
cmdFCprev2.Parameters.AddWithValue("@YearPassed", ddYear.SelectedValue)
cmdFCprev2.Parameters.AddWithValue("@MonthPassed", (ddMonth2.SelectedValue))
cmdFCprev2.Parameters.AddWithValue("@IndivID", Profile.Individual)
cmdFCprev2.Connection.Open()
Try
Dim strXML As String, strCategories As String, strDataCurr As String, strDataPrev As String, strDataPrev2 As String ', i As Integer
'Initialize <graph> element
strXML = "<graph caption='Monthly Passport Points' numberPrefix='' decimalPrecision='0' rotateNames='1' >"
'Initialize <categories> element - necessary to generate a multi-series chart
strCategories = "<categories>"
'cmdFC.Connection.Open()
dtrFC = cmdFC.ExecuteReader()
cmdFC.Parameters.Clear()
dtrFCprev = cmdFCprev.ExecuteReader()
cmdFCprev.Parameters.Clear()
dtrFCprev2 = cmdFCprev2.ExecuteReader()
cmdFCprev2.Parameters.Clear()
'Initiate <dataset> elements
strDataCurr = "<dataset seriesName='Previous Month' color='AFD8F8'>"
strDataPrev = "<dataset seriesName='Previous Month 2' color='F6BD0F'>"
strDataPrev2 = "<dataset seriesName='Previous Month 3' color='556b2f'>"
Dim arrData As ArrayList = getCategories()
For x = 0 To arrData.Count - 1
strCategories = strCategories & "<category name='" & arrData(x) & "' />"
Next
While dtrFC.Read()
strDataCurr = strDataCurr & "<set value='" & dtrFC.Item("TotalPoints").ToString() & "' />"
End While
While dtrFCprev.Read()
strDataPrev = strDataPrev & "<set value='" & dtrFCprev.Item("TotalPoints").ToString() & "' />"
End While
While dtrFCprev2.Read()
strDataPrev2 = strDataPrev2 & "<set value='" & dtrFCprev2.Item("TotalPoints").ToString() & "' />"
End While
'Close <categories> element
strCategories = strCategories & "</categories>"
'Close <dataset> elements
strDataCurr = strDataCurr & "</dataset>"
strDataPrev = strDataPrev & "</dataset>"
strDataPrev2 = strDataPrev2 & "</dataset>"
'Assemble the entire XML now
strXML = strXML & strCategories & strDataCurr & strDataPrev & strDataPrev2 & "</graph>"
'Create the chart - MS Column 3D Chart with data contained in strXML
Return FusionCharts.RenderChartHTML("../../Charts/FCF_MSColumn3D.swf", "", strXML, "Points", "650", "400", False) ', False)
arrData = Nothing
Catch ex As Exception
Return ex.Message
FC.Text = ex.Message
Finally
cmdFC.Connection.Close()
cmdFCprev.Connection.Close()
cmdFCprev2.Connection.Close()
End Try
End Function