语言C#,winform,数据库为access. 如何把int数组作为sql语句中的查询条件?

PostIds[num]中记录了多个岗位编码,希望以数组PostIds中的值作为查询条件,查询岗位所对应的不重复的部门编号。部门与岗位是一对多的关系,岗位表中包含部门编码... PostIds[num]中记录了多个岗位编码,希望以数组PostIds中的值作为查询条件,查询岗位所对应的不重复的部门编号。部门与岗位是一对多的关系,岗位表中包含部门编码
。希望能成功达到如下sql语句中的查询效果:String sql=@" select distinct DepartmentId from POSITION where PostId in("+PostIds+")";
展开
 我来答
百度网友3fa3349
2012-03-29
知道答主
回答量:19
采纳率:0%
帮助的人:13.8万
展开全部
你要写一个循环语句,把数组中的值用逗号隔开,拼成一个字符串,就像这样:“1111,2222,3333……”,然后放到括号里,代替现在sql语句中的postid变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
迦若青蓝
2012-03-29 · TA获得超过177个赞
知道小有建树答主
回答量:347
采纳率:0%
帮助的人:167万
展开全部
string ids="";
for(int i=0;i<PostIds.Length;i++)
{
ids+=PostIds[i];
if(i<PostIds.Length-1)
{
ids+=",";
}
}
String sql=@" select distinct DepartmentId from POSITION where PostId in("+ids+")";
追问
真的可以哦,之前在网上也查到了这样的做法,但一直认为ids属于字符串,而PostId字段属于int型,会出现类型不匹配。没想到真可以,是因为数据库在接受in(值1,值2,…)条件时本来就是以字符串的形式接受,再根据值1类型执行相关操作的嘛?
追答
数字在sql中加引号就作为字符串,不加引号就作为number类型,
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
侯洲明勇喵0b
2012-03-29 · 超过34用户采纳过TA的回答
知道答主
回答量:122
采纳率:0%
帮助的人:70.9万
展开全部
String sql=" select distinct from POSITION where PostId =("+PostIds+")";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_Soundlessly_
2012-03-29 · 超过14用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:43.8万
展开全部
怎么了?有啥问题...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式