我有一个填充的SqlCommand
对象,其中包含各种数据库类型的命令文本和参数及其值。我需要的是一个我可以简单执行的T-SQL脚本,它与在命令对象上调用ExecuteNonQuery方法具有相同的效果。
是否有一种简单的方法可以执行此类“脚本转储”,还是必须从命令对象手动构造此类脚本?
答案 0 :(得分:4)
我认为你不能直接从SqlCommand对象获取完整的sql语句。如果您记录发送到sql server的所有命令,您将看到传递的命令文本与SqlCommand对象的命令文本相同。参数值分别传递。
所以我认为你唯一的选择就是自己构建命令文本。这真的很容易;首先使用SqlCommand的CommandText,然后遍历Parameters集合,用参数占位符替换(转义)参数值。这应该会产生一个完整的SQL查询,可以完成您的工作。