在将InsertCommand发送到SQL之前读取它

时间:2013-02-01 11:01:56

标签: asp.net sqldatasource

早上好,

我有一个带有UpdatePanel的ASPX页面,其中包含Gridview和SqlDataSource控件。在SqlDataSource控件中,我指定了一个InsertCommand。我希望能够读取我的页面将发送到SQL数据库的InsertCommand。阅读以下内容

mySqlDataSource.InsertCommand
代码隐藏中的

为我提供了带有@parameters的InsertCommand,而不是将发送给SQL的每个参数的实际值。

有没有办法读取实际发送到数据库执行的最终InsertCommand?

编辑:请注意,我的问题可能适用于从我的ASPX页面发送到SQL的选择,更新,插入或任何命令。该命令必须转换为SQL可以解释和执行的语言,这是我试图读取的命令的最佳版本。

谢谢。

1 个答案:

答案 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
}

希望这会有所帮助