【发布时间】:2013-07-16 16:54:48
【问题描述】:
我正在尝试从 ASP.NET 中的 SQL Server 访问一些数据,但我无法获取要传递给 SQL Server 存储过程的参数。该参数位于 URL 中(即www.company.com/ImportantManager.aspx?id=Jones,%Bob),因为我只希望显示 Bob Jones 的结果。
NiceMgr_Total 是存储过程。我在这里和 Microsoft 论坛上看到了许多对类似问题的不同回复,但我认为存储过程可能会搞砸它(特别是 @manager 参数 - 其他参数似乎工作正常)。
我尝试了多种方法,但遇到了各种各样的解析器错误和“找不到参数”错误。感谢您的帮助。
代码如下:
<asp:GridView ID="GridView1" DataSourceID="SqlDataSource7" runat="server"
AutoGenerateRows="False" EmptyDataText="There are no data records to display."
AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="Manager" HeaderText="Manager" SortExpression="Manager"
ItemStyle-Width="41px" ItemStyle-HorizontalAlign="Center"
HeaderStyle-CssClass="tableheader3" ItemStyle-CssClass="tabledata2" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource7" runat="server"
ConnectionString="<%$ConnectionStrings:ConnectionString3 %>"
ProviderName="<%$ ConnectionStrings:ConnectionString3.ProviderName %>"
SelectCommand="DECLARE @PerDate VARCHAR(50)
DECLARE @CurrentDate DATETIME
SET @CurrentDate = (SELECT MAX([MostRecent]) FROM sameDB.dbo.RecentDate)
SET @PerDate = CAST(CONVERT(VARCHAR(10),@CurrentDate,120) AS VARCHAR(50))
EXEC [NiceMgr_Total] @date1=@PerDate, @date2=@PerDate, @manager=@MgrName">
<selectparameters>
<asp:querystringparameter name="MgrName" DBtype="String"
QueryStringField="<%Response.Write(Request.QueryString.Item("id"))%>" />
</selectparameters>
</asp:SqlDataSource>
【问题讨论】:
标签: asp.net sql sql-server stored-procedures