首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Delphi中对SQL语句格式化时如果IN语句后面是数组,用什么表示?该怎么处理

2012-03-29 
Delphi中对SQL语句格式化时如果IN语句后面是数组,用什么表示?format(delete * from workerday where (wda

Delphi中对SQL语句格式化时如果IN语句后面是数组,用什么表示?
format('delete * from workerday where (wdate>=%.5f) and (wdate <%.5f) and (p_id in %d)',[floattodatetime(trunc(dtp1.Date)),floattodatetime(trunc(dtp2.Date)),A])

上面这句话中p_id是人员编号,都存在INTEGER类型的数组A中,我的意思就是(p_id in %d)句中的%d肯定不对的,应换成什么?

[解决办法]
先把数组变成 符合in格式的 string,然后并进去。
[解决办法]
放在IN数组里的格式是:p_id in [1,2]
[解决办法]
%d,会被替换成字符串,这样就拼成了完整的sql
[解决办法]
只要拼出来的SQL对就OK

热点排行