在参数替换后查看确切的sql C#

前端之家收集整理的这篇文章主要介绍了在参数替换后查看确切的sql C#前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法在执行后立即访问CommandText?
我有以下代码
cmd = new OracleCommand(sql.ToString(),conn);
cmd.Parameters.Add(new OracleParameter("@parm",parmValue));


OracleDataAdapter da = new OracleDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);

我需要知道的是在数据库中执行的sql命令字符串已经包含在sql中的parmValue值.换句话说,我必须无法在查询中看到字符串“@parm”,而是查看它的值.

我需要这个,以便我可以将这个sql推送到日志数据库中以供将来参考.

提前致谢.

解决方法

我不确定Oracle,但在RDBMS中我个人工作,这是无法做到的.

当我需要获取参数并查看生成SQL查询时,我总是通过循环遍历代码中的参数集合并提取Name / Value对来将生成查询或类似内容记录到我们的错误记录中数据库

StoredProc=InsertCallRecord: Parameters:
CallId=1234;Custid=651;PersonCalling=Dave…

我只对错误日志记录执行此操作,因为在每次调用时都会执行此操作,但它也可以在测试场景中运行.

猜你在找的MsSQL相关文章