是否可以轻松地将SqlCommand转换为T-SQL字符串?

时间:2010-03-30 08:49:58

标签: c# .net sql-server-2005 tsql ado.net

我有一个填充的SqlCommand对象,其中包含各种数据库类型的命令文本和参数及其值。我需要的是一个我可以简单执行的T-SQL脚本,它与在命令对象上调用ExecuteNonQuery方法具有相同的效果。

是否有一种简单的方法可以执行此类“脚本转储”,还是必须从命令对象手动构造此类脚本?

1 个答案:

答案 0 :(得分:4)

我认为你不能直接从SqlCommand对象获取完整的sql语句。如果您记录发送到sql server的所有命令,您将看到传递的命令文本与SqlCommand对象的命令文本相同。参数值分别传递。

所以我认为你唯一的选择就是自己构建命令文本。这真的很容易;首先使用SqlCommand的CommandText,然后遍历Parameters集合,用参数占位符替换(转义)参数值。这应该会产生一个完整的SQL查询,可以完成您的工作。