0

SqlDataSourceのselectコマンドに以下のストアドプロシージャを使用していて、クエリ文字列パラメーターを渡そうとしていますが、次のエラーが発生します。

プロシージャまたは関数'ActivationCampaignGetById'には、指定されていないパラメータ'@campaignId'が必要です。

パラメータはクエリ文字列に存在します:

http://localhost:62681/Activations/ActivationCampaignDetails.aspx?id=98

これが私のデータソースコードです:

<asp:SqlDataSource ID="campaignDataSource" runat="server" ConflictDetection="CompareAllValues"
    ConnectionString="<%$ ConnectionStrings:ProVantageMediaManagement %>" 
    SelectCommand="ActivationCampaignGetById" SelectCommandType="StoredProcedure">
    <SelectParameters>
        <asp:QueryStringParameter DefaultValue="98" Name="campaignId" 
            QueryStringField="id" Type="Int32" />
    </SelectParameters>
</asp:SqlDataSource>

そして、私のストアドプロシージャ宣言:

ALTER procedure [dbo].[ActivationCampaignGetById]
    @campaignId int
as
select
4

1 に答える 1

4

これが役立つかどうかはわかりませんが、パラメータの方向を入力に設定する必要があります。

<asp:QueryStringParameter DefaultValue="98" Name="campaignId" 
       Direction="Input" QueryStringField="id" Type="Int32" />
于 2010-04-18T15:21:56.597 に答える