向sqldatasource发送变量
本文关键字:变量 sqldatasource | 更新日期: 2023-09-27 18:02:12
我有一个sqldatasource,它接受一个带参数的存储过程,但是这个存储过程没有被执行…
传递参数是否成功?
SQLDataSource:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:CP_AllQuestionsAnswered %>"
SelectCommand="GetMessagesTitles" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:Parameter Name="Name" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
页面加载代码:
string name = ModeratorUsefulFunctions.GetMessageUsersName(g);
SqlDataSource1.SelectParameters.Add("@Name", name);
存储过程:
ALTER PROCEDURE dbo.GetMessagesTitles
@Name nvarchar(50)
AS
SELECT MessageTitle, MessageID
FROM Messages
WHERE MessageTo=@Name
您需要传递参数值,而不是在SQLDataSource中添加参数。由于您已经在SelectParameters
集合中添加了参数,因此您只需要传递该值。你这样做的方式,它增加了另一个选择参数,这就是问题所在。
应该是…
string name = ModeratorUsefulFunctions.GetMessageUsersName(g);
SqlDataSource1.SelectParameters["name"].DefaultValue = name;