私のASP.netアプリケーションには、次のようなSqlDataSource
パラメーターがあります。
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="..."
onselecting="SqlDataSource1_Selecting" ProviderName="System.Data.SqlClient"
SelectCommand="SELECT * FROM [SomeTable] WHERE ([SomeTableID] = @SomeTableID)">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList1" Name="SomeTableID"
PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
デバッグの目的で、データベース サーバーで実行されるクエリ文字列、つまりパラメータ値が入力されたクエリ文字列を何らかの方法でキャッチすると非常に役立ちます。
SqlDataSource1_Selecting
イベントでこれを実行しようとしましたが、SqlDataSourceSelectingEventArgs
引数にはまだSelectCommand
上記のテキストが含まれています: SELECT * FROM [SomeTable] WHERE ([SomeTableID] = @SomeTableID)
.
すべての @Valiables が選択に使用される値に置き換えられた真のクエリ文字列を取得するにはどうすればよいですか?