• FIREDAC不能识别SQL的某些字段类型


    FIREDAC不能识别SQL的某些字段类型

    经常见有网友有类似的提问:请问各位,在DataSnap中使用SQL数据SUM函数,如果是统计浮点型数值的话,返回是乱码,哪位是什么原因? 
    其实这不是DATASNAP的问题,而是FIREDAC的。
    SQL查询使用SUM(field)函数以后,FIREDAC便不能识别SUM()后的字段类型。
    导致在客户端呈现的后果:数值显示不对。许多人遇到过了此种情况,认为非常不可思议的BUG。
    笔者在使用MSSQLMYSQLORACEL的过程中,发现均有某些字段不能被数据引擎识别的情况。
     
    解决的方法有2种:
    1)在SQL语句中,使用CAST()或convert(),转换sum(field)为指定的字段类型;
    2)在FIREDAC里面进行数据类型映射,将FIREDAC不能识别的类型映射为它可以识别的类型。
    比如FIREDAC不能保存ORACLE的BLOB字段数据:http://www.cnblogs.com/hnxxcxg/p/5599661.html
    比如UNIDAC不能识别CLIENTDATASET的TSINGLEFIELD:http://www.cnblogs.com/hnxxcxg/p/6031080.html
    比如FIREDAC如何做类型映射:http://www.cnblogs.com/hnxxcxg/p/6089326.html
     
    总结:通用型数据库引擎在细节上都有上面的毛病,笔者发现FIREDAC、UNIDAC。。。都有。
    解决办法都如上。
  • 相关阅读:
    北方联动科技论坛上的回答
    Fire Net
    The shortest problem(hdu,多校
    Air Raid
    过山车
    Courses
    Network
    Common Subsequence
    The mook jong
    Distribution money
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/9420872.html
Copyright © 2020-2023  润新知