回 帖 发 新 帖 刷新版面

主题:请教一条数据库语句SQL?

下面有在delphi的程序中的一条SQL语句:
sSearch := 'select * from Expert where 专家ID in (' + sSearch + ') ' +
           ' Order by 组ID asc,专家ID asc';

其中:(' + sSearch + ')中的sSearch 是string类型,我想把它转换成int或者是double,因为(专家ID)是int类型,如果不改,提示有错误,不能运行。
请问应该如何解决,请大家帮我写一下,谢谢!

回复列表 (共9个回复)

沙发

我也期待答案

板凳

delphi7里面好象能通过StrToInt(A)来将Str类型的A转换成Int类型。

3 楼

??????????
不懂
这个语句怎么写的?
能运行?
期待ing........................

4 楼


你的代码应该是无法运行的,SQL中;你能说说你想实现什么功能吗?

5 楼

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 楼

[quote]应该改成sSQL := 'select * from Expert where 专家ID in (''' + sSearch + ''') ' + ' Order by 组ID asc,专家ID asc';[/quoet]
能说一下为啥非要加双引号么??

7 楼


sSearch := 'select * from Expert where 专家ID in (' + 
strtoint(sSearch) + ') ' +
           ' Order by 组ID asc,专家ID asc';

8 楼

好雾!~

9 楼

同意5楼的

我来回复

您尚未登录,请登录后再回复。点此登录或注册