0

早上好,

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

mySqlDataSource.InsertCommand

在代码隐藏中为我提供了带有 @parameters 的 InsertCommand,而不是将发送到 SQL 的每个参数的实际值。

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

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

谢谢你。

4

1 回答 1

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
}

希望这会有所帮助

于 2013-02-01T11:11:17.493 回答