【问题标题】:Sending variables to sqldatasource将变量发送到 sqldatasource
【发布时间】:2011-07-16 17:36:30
【问题描述】:

我有一个带有参数的存储过程的 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>

后面的pageLoad代码:

  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 

【问题讨论】:

    标签: c# .net asp.net sql sqldatasource


    【解决方案1】:

    您需要传递参数值,而不是在 SQLDataSource 中添加参数。由于您已经在SelectParameters 集合中添加了参数,因此您只需传递值即可。你这样做的方式,它添加了另一个 Select 参数,这就是问题所在。

    应该是这样的..

    string name = ModeratorUsefulFunctions.GetMessageUsersName(g);
    
    SqlDataSource1.SelectParameters["name"].DefaultValue = name;
    

    【讨论】:

    • 谢谢它的工作......'n'应该是'N'..这纠正了这种情况..答案是正确的..谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-21
    • 2011-10-17
    • 2015-03-10
    • 2016-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多