早上好,
我有一个带有UpdatePanel的ASPX页面,其中包含Gridview和SqlDataSource控件。在SqlDataSource控件中,我指定了一个InsertCommand。我希望能够读取我的页面将发送到SQL数据库的InsertCommand。阅读以下内容
mySqlDataSource.InsertCommand
代码隐藏中的为我提供了带有@parameters的InsertCommand,而不是将发送给SQL的每个参数的实际值。
有没有办法读取实际发送到数据库执行的最终InsertCommand?
编辑:请注意,我的问题可能适用于从我的ASPX页面发送到SQL的选择,更新,插入或任何命令。该命令必须转换为SQL可以解释和执行的语言,这是我试图读取的命令的最佳版本。
谢谢。
答案 0 :(得分:1)
我猜您应该订阅DataSource的Inserting事件。
然后,在您的Inserting_Handler中,您可以浏览您的DataSource.InsertParameters集合
private void On_Inserting(Object sender, SqlDataSourceCommandEventArgs e)
{
var txt = e.Command.CommandText;
//the parameters names and values are in e.Command.Parameters
}
希望这会有所帮助