var name = "xxx";//入参
var codes = new List<string>();//入参,要限制数量,数据多查询会很慢
var sql = new StringBuilder();//sql语句
var where_str = new StringBuilder();//查询条件
var paras = new Dictionary<string, dynamic>();//查询参数
//like:
if(!string.IsNullOrWhiteSpace(name))
{
paras.Add("name", $"%{name}%");
where_str.Append($" and table1.name like @name");
}
//in:
if (codes.Count > 0)
{
var codes_paras = new List<string>();
for (var i = 0; i < codes.Count; i++)
{
codes_paras.Add($"@Code{i}");
paras.Add($"Code{i}", codes[i]);
}
var codes_paras_str = string.Join(",", codes_paras);
where_str.Append($" and table1.code in ({codes_paras_str})");
}
sql.Append(@$"
select
*
from table1
where 1=1
{where_str};
");
var res = db.Excute(sql.ToString(), paras);
C# sql 查询条件 like 和 in 参数化写法
最新推荐文章于 2024-05-23 04:02:55 发布