query1.sql.add('select * from '+''''+cjdm+''' where strtoint(CCC)>=60 or strtoint(DDD)>=60 or strtoint(EEE)>=60');
数据操作里有把字符型数据转换成数字的函数,好像是ToXX,我不太记得了,你查一下,另外你也可以比较字符,如下写: query1.sql.add('select * from '+''''+cjdm+''''+' where ccc>='+inttostr(60)+' or ddd>='+inttostr(60)+' or eee>='+inttostr(60))
为什么把成绩字段设成字符型,设成float,不就没问题了么?
如果你使用的数据库是SQLSERVER7以上版本,可以这样 query1.sql.add('select * from '+''''+cjdm+''' where Convert(CCC as Int)>=60 or Convert(DDD as Int)>=60 or Convert(EEE as Int)>=60');
我自己搞定了,用以下语句。 query1.sql.add('select * from '+''''+cjdm+''' where F01>'+'''60'' or F05>'+'''60'''); 但现在出了一个新毛病。可能是or的问题。如果出现成绩都为100的时候也被当成不及格过滤掉了。是怎么回事
query1.sql.add('select * from '+''''+cjdm+''''+' where ccc>='+inttostr(60)+' or ddd>='+inttostr(60)+' or eee>='+inttostr(60))
query1.sql.add('select * from '+''''+cjdm+''' where Convert(CCC as Int)>=60 or Convert(DDD as Int)>=60 or Convert(EEE as Int)>=60');
query1.sql.add('select * from '+''''+cjdm+''' where F01>'+'''60'' or F05>'+'''60''');
但现在出了一个新毛病。可能是or的问题。如果出现成绩都为100的时候也被当成不及格过滤掉了。是怎么回事