本文介绍了获得从一个SqlCommand-对象生成的SQL语句?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下的code:
Using cmd As SqlCommand = Connection.CreateCommand
cmd.CommandText = "UPDATE someTable SET Value = @Value"
cmd.CommandText &= " WHERE Id = @Id"
cmd.Parameters.AddWithValue("@Id", 1234)
cmd.Parameters.AddWithValue("@Value", "myValue")
cmd.ExecuteNonQuery
End Using
我不知道是否有什么办法让最终的SQL-说明书作为一个字符串,它应该是这样的:
I wonder if there is any way to get the final SQL-Statment as a String, which should look like this:
UPDATE someTable SET Value = "myValue" WHERE Id = 1234
如果有人想知道为什么我会做这样的:
If anyone wonders why I would do this:
- 的日志记录(失败)语句
- 对于具有可能性,复制和;粘贴到企业管理器用于测试目的
推荐答案
有关采伐的目的,恐怕就是这样做的,但构造字符串自己没有更好的方式:
For logging purposes, I'm afraid there's no nicer way of doing this but to construct the string yourself:
string query = cmd.CommandText;
foreach (SqlParameter p in cmd.Parameters)
{
query = query.Replace(p.ParameterName, p.Value.ToString());
}
对不起,我忘了.. p.Value.ToString()
应该做的工作。
这篇关于获得从一个SqlCommand-对象生成的SQL语句?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!