2014-10-01 45 views
1

我必須綁定並在我的網頁上顯示asp.net圖表。我在運行此程序時出錯。請幫幫我。下面的代碼給出:必須聲明一個標量變量'@ site_name'?

public partial class chartDummy : System.Web.UI.Page 
{ 
    SqlConnection con; 
    SqlCommand cmd; 
    SqlDataAdapter da; 
    DataSet ds; 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     con = new SqlConnection(@"connectionString"); 
     cmd = new SqlCommand("select top (1) Dg_energy_daily, Load_energy_daily, mains_energy_daily,solar_energy_daily From tbl_energy_report inner join tbl_site_details ON tbl_energy_report.Site_ID=tbl_site_details.site_id where [email protected]_name order by tbl_energy_report.sl_no desc", con); 
     da = new SqlDataAdapter(cmd); 
     ds = new DataSet(); 
     da.Fill(ds); 
     DataView source = new DataView(ds.Tables[0]); 
     Chart1.DataSource = ds; 
     Chart1.DataBind(); 

來源:

<asp:Chart ID="Chart1" runat="server" CssClass="auto-style1" Width="987px" Height="276px"> 
<Series> 
<asp:Series Name="Dg_energy_daily" XValueMember="site_name" YValueMembers="Dg_energy_daily" ChartArea="ChartArea1" Legend="Legend1" ></asp:Series> 
<asp:Series Name="Load_energy_daily" XValueMember="site_name" YValueMembers="Load_energy_daily" ChartArea="ChartArea1" Legend="Legend1" ></asp:Series> 
<asp:Series Name="mains_energy_daily" XValueMember="site_name" YValueMembers="mains_energy_daily" ChartArea="ChartArea1" Legend="Legend1" ></asp:Series> 
<asp:Series Name="solar_energy_daily" XValueMember="site_name" YValueMembers="solar_energy_daily" ChartArea="ChartArea1" Legend="Legend1" ></asp:Series> 
</Series> 
<ChartAreas> 
<asp:ChartArea Name="ChartArea1"></asp:ChartArea> 
</ChartAreas> 
<Legends> 
<asp:Legend Title="RunTime Report" Name="Legend1"></asp:Legend> 
</Legends> 
</asp:Chart> 

回答

3

基本上,你必須添加參數及其相應的值來查詢:

string value=///set the value you want 
... 
cmd = new SqlCommand("select top (1) Dg_energy_daily, Load_energy_daily, mains_energy_daily,solar_energy_daily From tbl_energy_report inner join tbl_site_details ON tbl_energy_report.Site_ID=tbl_site_details.site_id where [email protected]_name order by tbl_energy_report.sl_no desc", con);   
cmd.Paramaters.AddWithValue("@site_name ", value);