c# 如何查看替换参数后的sql语句
List<int> kinds = new List<int>();
list.ForEach(x => kinds.Add(x.ID));
string kindStr = ListToStr<int>(kinds, ",", "''");
string sql = @"select * from
(select row_number() over(partition by c_kind_num order by n_order desc, d_list_date desc, ID desc) as rownum, id, c_kind_num, c_info_title, c_picurl1, g_id, '' AS link
from B_INFOS
where n_is_active=1 and c_kind_num in (@kind)
) as T
where T.rownum >= 1";
SqlParameter[] paras =
{
new SqlParameter("@kind", kindStr)
};
DataTable dt = DbHelperSQL.Query(sql, paras).Tables[0];
测试了@Victor的方法,并不行:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
最简单的方法就是 打开Sql Server Profiler 连接数据库,新建监控,执行后监控中都是有记录的,找到相应的执行记录即可。
如果DbHelperSql封装的是Ado.net的话,也是有方法的,但是需要用到ETW,配置上稍微复杂。
如果使用的是其他的ORM的话,例如Dapper、EF之类的,都有对应的配置参数,查看相应的文档容易找到。
断点设置在这里就可以看到了
——打断点在sql的位置
——后台运行调试
——选中你的sql右键 添加监视 就能查看替换参数后的sql了
——你注意你这段 sql 最前面的
DECLARE @TempTable Table
——这是新声明的表、这段sql相当于一个存储过程、是看不了变量的