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的方法,并不行:
最简单的方法就是 打开Sql Server Profiler 连接数据库,新建监控,执行后监控中都是有记录的,找到相应的执行记录即可。
如果DbHelperSql封装的是Ado.net的话,也是有方法的,但是需要用到ETW,配置上稍微复杂。
如果使用的是其他的ORM的话,例如Dapper、EF之类的,都有对应的配置参数,查看相应的文档容易找到。