读书人

Delphi中对SQL语句格式化时如果IN语句

发布时间: 2012-03-29 12:53:12 作者: rapoo

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

读书人网 >.NET

热点推荐