Отправка переменных в sqldatasource - PullRequest
0 голосов
/ 16 июля 2011

У меня есть 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 

1 Ответ

1 голос
/ 16 июля 2011

Вам нужно передать значение параметра вместо добавления параметра в SQLDataSource.Поскольку вы уже добавили параметр в коллекцию SelectParameters, вам нужно только передать значение.Как вы делаете, он добавляет еще один параметр Select, вот в чем проблема.

Это должно быть как ..

string name = ModeratorUsefulFunctions.GetMessageUsersName(g);

SqlDataSource1.SelectParameters["name"].DefaultValue = name;
...