主题:请教一条数据库语句SQL?
kristy811203
[专家分:0] 发布于 2006-11-04 23:13:00
下面有在delphi的程序中的一条SQL语句:
sSearch := 'select * from Expert where 专家ID in (' + sSearch + ') ' +
' Order by 组ID asc,专家ID asc';
其中:(' + sSearch + ')中的sSearch 是string类型,我想把它转换成int或者是double,因为(专家ID)是int类型,如果不改,提示有错误,不能运行。
请问应该如何解决,请大家帮我写一下,谢谢!
回复列表 (共9个回复)
沙发
wealthy [专家分:1840] 发布于 2006-11-06 09:19:00
我也期待答案
板凳
gqlhehe [专家分:0] 发布于 2006-11-06 16:08:00
delphi7里面好象能通过StrToInt(A)来将Str类型的A转换成Int类型。
3 楼
冰封星云 [专家分:2260] 发布于 2006-11-07 09:23:00
??????????
不懂
这个语句怎么写的?
能运行?
期待ing........................
4 楼
我爱白狗狗 [专家分:10] 发布于 2006-11-07 10:42:00
你的代码应该是无法运行的,SQL中;你能说说你想实现什么功能吗?
5 楼
5cai [专家分:90] 发布于 2007-03-05 14:13:00
sSQL := 'select * from Expert where 专家ID in (' + sSearch + ') ' +
' Order by 组ID asc,专家ID asc';
这样写应该的不到结果,如果sSearch是String的话!
应该改成sSQL := 'select * from Expert where 专家ID in (''' + sSearch + ''') ' + ' Order by 组ID asc,专家ID asc';
如果sSearch是integer 的话:
sSQL := 'select * from Expert where 专家ID in (' + IntToStr(sSearch) + ') ' +
' Order by 组ID asc,专家ID asc';
6 楼
zimo [专家分:240] 发布于 2007-03-05 14:49:00
[quote]应该改成sSQL := 'select * from Expert where 专家ID in (''' + sSearch + ''') ' + ' Order by 组ID asc,专家ID asc';[/quoet]
能说一下为啥非要加双引号么??
7 楼
wangshengli0208 [专家分:0] 发布于 2007-03-08 13:46:00
sSearch := 'select * from Expert where 专家ID in (' +
strtoint(sSearch) + ') ' +
' Order by 组ID asc,专家ID asc';
9 楼
channelxp [专家分:20] 发布于 2007-03-12 11:09:00
同意5楼的
我来回复