下面语句中要求在xg1.db中满足“名次”(字符型,但都是数字)中大于10的记录,运行时出错,请问我应该怎么写,谢谢!!
query1.close;
query1.sql.clear;
query1.sql.add('select * from xg1');
query1.sql.add(' where '+strtoint(名次)>10);
query1.open;
query1.close;
query1.sql.clear;
query1.sql.add('select * from xg1');
query1.sql.add(' where '+strtoint(名次)>10);
query1.open;
query1.sql.add('select * from xg1');
query1.sql.add(' where "'+strtoint(名次)+'>10');
query1.open;
用IntToStr(名次)吧
query1.sql.add('select * from xg1');
query1.sql.add(' where "'+名次+'>10');
query1.open;
query1.sql.clear;
query1.sql.add('select * from xg1');
query1.sql.add(' where cast(名次 as int)>10');
query1.open;
query1.sql.add('select * from xg1');
query1.sql.add(' where '''+strtoint(名次)+'''>10');
query1.open;
query1.close;
query1.sql.clear;
query1.sql.add('select * from xg1');
query1.sql.add(' where cast(名次 as int)>10');
query1.open;
query1.sql.clear;
query1.sql.add('select * from xg1');
query1.sql.add(' where 名次>''10''');
query1.open;
除非你的名次字段9在数据库存储时是09要不然, 呵呵, '9'>'10'还是'9'<'10'?还是转换成数值。
哥们有没有搞错????
strtoint(名次)是字段名???
再说,如果strtoint(名次)是5的话,
5>10 ???????
设名次的字段名是Aquery1.close;
query1.sql.clear;
query1.sql.add('select * from xg1');
query1.sql.add(format(' where cast (a as int)>10');
query1.open;试试吧,包你满意