在我的 ASP.net 应用程序中,我有一个SqlDataSource
with 参数,例如:
<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 替换为用于选择的值的真实查询字符串?