zoukankan      html  css  js  c++  java
  • 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。。。都有。
    解决办法都如上。
  • 相关阅读:
    深入了解Struts2返回JSON数据的原理及具体应用范例
    Struts国际化
    LeetCode Balanced Binary Tree
    LeetCode Triangle
    Binary Tree Level Order Traversal
    Pow(x,n)
    Symmetric Tree
    LeetCode Word Search
    LeetCode Insert Interval
    Maximum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/9420872.html
Copyright © 2011-2022 走看看