1
これは動作します。execストアドプロシージャのパラメータを渡す方法
SelectCommand="SELECT [CompanyName], [Country] FROM [Customers] WHERE ([Country] = ?)">
<SelectParameters>
<asp:Parameter DefaultValue="Mexico" Name="Country" Type="String" />
</SelectParameters>
しかし、これは機能しません。それは "間違った構文を 'の近くに与えるでしょうか?'エラーメッセージ。
SelectCommand="EXEC Docs.[DocumentList] @UserName = ?, @Service = ?, @YearGroup = ?, @Category = ?">
<SelectParameters>
<asp:Parameter DefaultValue="8882074" Name="UserName" />
<asp:Parameter DefaultValue="9" Name="Service" />
<asp:Parameter DefaultValue="1" Name="YearGroup" />
<asp:Parameter DefaultValue="1" Name="Category" />
</SelectParameters>
これは機能しません。
<asp:SqlDataSource ID="ListViewSqlDataSource" runat="server"
ConnectionString="<%$ *** %>"
SelectCommand="EXEC [Docs].[CategoryList]" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:Parameter DefaultValue="8882074" Name="UserName" />
<asp:Parameter DefaultValue="9" Name="Service" />
</SelectParameters>
</asp:SqlDataSource>
このエラーが発生します。 "" "ストアドプロシージャを見つけることができませんでした。" "" "
ただし、selectコマンドをこれに変更すると正常に動作します。
SelectCommand="EXEC [Docs].[CategoryList] @UserName = 8882074, @Service = 9"
したがって、ストアドプロシージャの実行時にパラメータを渡すにはどうすればよいですか?ありがとう。
ハム:いいえ
EXEC
か何か......はこれを試してみてくださいませんか?ストアドプロシージャは、提供されるパラメータがほとんどないことを要求していました。ちょうどその名前をつけたら、どうやって供給しますか?このように値をハンドコーディングするとうまくいくでしょう。 ** EXEC Docs。[DocumentList](at)UserName = 122、(at)Service = 3、(at)YearGroup = 12、(at)Category = 1 "**しかし、パラメータを動的に指定する必要があります。 – lawphotog
@LaurenceNyein:あなたは ''エントリの全リストを持っています、いいえ??それらはあなたのストアドプロシージャが期待する値です、そして、それはあなたが値を送る方法です... –
はい私はそのストアドプロシージャにリンクする方法を知っています。私は通常、Sqlと私の最初の投稿の最初の例で働いています。 '好きなの?**?**その中に –
lawphotog