
C# WPF SQL 多条件查询
数据库中有一张表A(id,a,b)在一个int型数组中存放了我需要查找的id,比如int[]num=[1,2,8,9],我想将这些ID作为我查询的条件,通过C#给数据库,...
数据库中有一张表A(id,a,b)在一个int型数组中存放了我需要查找的id,比如int[] num = [1,2,8,9],我想将这些ID作为我查询的条件,通过C# 给数据库,查询的结果用datagrid显示,也就是说,查询结果应该放在一个datatable里,请问应该怎样做,求指点~
展开
展开全部
// 试一下能不能满足你的要求。
var num = new[] {1, 2, 8, 9};
// .net 4或以上
// var sql = string.Format("select id, a, b from A where id in ( {0} )", string.Join(", ", num));
// .net 4以下
var numStr = Array.ConvertAll(num, input => input.ToString());
var sql = string.Format("select id, a, b from A where id in ( {0} )", string.Join(", ", numStr));
var dataTable = new DataTable();
using (var dataAdapter = new SqlDataAdapter(sql, connectoin))
{
dataAdapter.Update(dataTable);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int[] num = new int[] { 1, 2, 8, };
string sql = string.Format("select * from A where 1<>1 ");
foreach (int i in num)
{
sql += string.Format(" or id = {0} ", i);
}
MessageBox.Show(sql);
//有了sql语句的再用adapter.fill(datatable)
追问
能不能麻烦你解释一下where处的11是什么意思呢,谢谢~
追答
方便我加第一个or。你去掉11 再弹出就知道是什么效果了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
亲,我大概说一下:把int[]的值转化成字符串
int[] num={1,2,3};
string Instr = "";
for(int i=0;i<num.Length;i++)
{
Instr = Instr + "," + num[i].ToString();
}
SQL语句这样写:Select * from a where id in(Instr)
int[] num={1,2,3};
string Instr = "";
for(int i=0;i<num.Length;i++)
{
Instr = Instr + "," + num[i].ToString();
}
SQL语句这样写:Select * from a where id in(Instr)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
拼接sql的where 条件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |