哪位大侠帮忙解决一下
解决了,一定给分
是不是我说的不是很清楚呢?
问题归根到底就是如何处理类型为ftArray的参数
其他类型的参数没有问题,就是这个ftArray类型不知如何处理
解决了,一定给分
是不是我说的不是很清楚呢?
问题归根到底就是如何处理类型为ftArray的参数
其他类型的参数没有问题,就是这个ftArray类型不知如何处理
解决方案 »
- delphi调用cmd执行一连串指令问题
- 安装DevExpress.ExpressPrinting.System.v3.5.9?
- 急!!★★Fastreport明细表的问题★★
- ListView和TreeView问题
- Delphi还能坚持多久?
- 第二轮没有过,郁闷,散分!!!
- fastreport的问题,在线等
- 关于SOCKET编程问题
- 如何使用FileStream进行文件的读写?
- 关于串口问题:我用Ms的Mscomm控件来一次传送一个字符串,字符串有118个字符,范围为0~255,经常会在中间出错
- forgot2000的散分帖:有人经常在大富翁吗?欢迎一起交流!
- 如何使得点击combobox出现树型菜单?
Param: string;
begin
Param := 'select id from table2';
sqldataset.commandtext := Format('select * from table1 where id in (%s)', [Param]);
sqldataset.open;
end;SQL语句中多中Format直接生成SQL语句,而不是多用参数。:-)
end;
看看这样可以么?
1. 为什么所有Datatype的前面都有ft,因为它实际上是TFieldType type(字段类型)。
2. 所以除非你的字段本身是ftArray类型,否则会出错。按你的写法,实际上是要一个整型字段的值(eno)和一个数组型字段的值(param_eno)比较,判断前者是否在后者之中,当然类型不匹配。
3. 解决方法:'select * from employee where eno in (:param1,:param2,:param3...))' //param1,2,3... 的类型同eno 如果你的参数可以从别的表里选出来:'select * from employee where eno in (select eno from OtherTable where ...)'不失为一个好方法。