2013-01-24 55 views
-4

我想訪問下拉列表中選定的值,並在我的選擇語句中傳遞該值,所以我只能拉過濾數據,但我越來越一個錯誤,並且圖表不是由於這個問題而產生的。這裏是錯誤:「錯誤:'pieYScale'爲空或不是對象」。
我懷疑我在下拉列表中引用選定值的方式是錯誤的。如何獲得在下拉列表中使用C#訪問選定的值#

public string CreateChart() 
    { 
     string DDList = DropDownList1.SelectedValue; 

     SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString); 
     string sqlStatement = "select Status as GroupCategory, Count(Status) as TotalCount from [MasterProject] where Closing_Date >= '" + txtStartClosingDate.Text + "' and Closing_Date <= '" + txtEndClosingDate.Text + "' and GroupProject = '" + DDList + "' and Status is not null group by Status Order by TotalCount Desc"; 

     SqlCommand cmd = new SqlCommand(sqlStatement, con); 
     con.Open(); 
     SqlDataReader reader = cmd.ExecuteReader(); 
     string strXML; 
     strXML = "<graph decimalPrecision='0' name='MyXScaleAnim' type='ANIMATION' duration='1' start='0' param='_xscale' showNames='1' labelDisplay='Rotate' useEllipsesWhenOverflow='1' pieSliceDepth='30' formatNumberScale='0'>"; 
     while (reader.Read()) 
     { 
      strXML += "<set name='" + reader["GroupCategory"].ToString() + "' value='" + reader["TotalCount"].ToString() + "' />"; 
     } 
     strXML += "</graph>"; 
     return FusionCharts.RenderChart("../FusionCharts/Column3D.swf", "ChartID", strXML, "FactorySum", "500", "350", false, false); 

    } 
+0

嘗試: DropDownList.Text – fabricio

+0

嘗試把'DDList.ToSrting();或DDList.Text'我也建議改變你的查詢和使用參數化查詢 – MethodMan

+1

什麼是pieYScale? –

回答

0

撇開上文的代碼是SQL注入攻擊等,實際的誤差本身從FusionCharts的部件來完全開放,似乎是一個錯誤,需要更新的解決它。請參閱使用本here

+0

感謝球員,但我試圖添加DDList.ToSrting();或DDList.Text在我的查詢,但它似乎不喜歡這種語法。如果我刪除下拉列表,只保留2日期選擇器領域,那麼一切正常。我很確定這是我訪問下拉框的方式,如果任何人都可以提供幫助。感謝 – user1858332

+0

關於sql注入問題,這是內部網站,我們的網絡是完全安全的。我只會擔心這是否是面向外部的網站。感謝關於sql注入問題的提示 – user1858332

+1

,你有沒有聽說過「不滿的工作人員」這個詞?一個生氣的人可以打倒你的整個DB。 –

0

我有固定的:

string DDList = DropDownList1.SelectedItem.Value; 
相關問題