我有一个填充的 SqlCommand
对象,其中包含各种数据库类型的命令文本和参数及其值。我需要的是一个 T-SQL 脚本,我可以简单地执行它,它与在命令对象上调用 ExecuteNonQuery 方法具有相同的效果。
有没有一种简单的方法来做这样的“脚本转储”,还是我必须从命令对象手动构建这样的脚本?
最佳答案
我认为您无法直接从 SqlCommand 对象中获取完整的 sql 语句。如果您记录发送到 sql server 的所有命令,您将看到传递的命令文本与 SqlCommand 对象的命令文本相同。参数值单独传递。
所以我认为你唯一的选择是自己构建命令文本。这真的很容易;您从 SqlCommand 的 CommandText 开始,遍历 Parameters 集合,用(转义的)参数值替换参数占位符。这应该会产生一个完整的 sql 查询,它可以执行您所追求的操作。
关于c# - 是否可以轻松地将 SqlCommand 转换为 T-SQL 字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2543890/