我想使用SQL数据源中的存储过程填充Label。 我的存储过程有两个参数,但我不知道如何调用它。
我的表与此类似:
CityID CityName London Paris
----------- -------------------- --------------------------------------- --
1 London 0 60
2 Paris 50 0
3 Berlin 90 60
4 Madrid 150 90
5 Dublin 30 80
6 Rome 75 88
我的目的是根据从2个单独的下拉列表中选择的城市返回一个值。 例如伦敦,巴黎将返回60
似乎我已经设置了数据源
<asp:SqlDataSource ID="JourneyPrice" runat="server"
ConnectionString="<%$
ConnectionStrings:connectToEnterpriseAssignmentDB %>" SelectCommand="GetBusPrice"
SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:ControlParameter ControlID="ddlDepart" Name="city" PropertyName="SelectedValue" Type="String" />
<asp:ControlParameter ControlID="ddlDestination" Name="column" PropertyName="SelectedValue" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
我的c#代码是:
DataView dataViewJourneyPrice = (DataView)JourneyPrice.Select(DataSourceSelectArguments.Empty);
if (dataViewJourneyPrice != null)
{
if (dataViewJourneyPrice.Count > 0)
// Whatever column is coming from database
lblPrice.Text = dataViewJourneyPrice.ToString();
}
}
这不会产生正确的结果
解决:
labelBusPrice.Text = dataViewJourneyPrice[0]["ColumnName"].ToString();
答案 0 :(得分:1)
您只需从数据视图中提取值即可。一旦更正了列名,您可能希望将其强制转换为真正的数据类型,以便在放入标签之前进行正确的格式化。
if (dataViewJourneyPrice.Count > 0)
// Whatever column is coming from database
labelBusPrice.Text = dataViewJourneyPrice[0]["ColumnName"].ToString();