代码之家  ›  专栏  ›  技术社区  ›  jrodenhi

传输到ClientDataset时的字符串截断

  •  2
  • jrodenhi  · 技术社区  · 15 年前

    cds.Data := dsProvider.Data;
    

    我在SQL语句中找到了导致错误的位置:

    iif(ytd.hPayType <> -1,t.sCode, 'NET') sPayType
    

     CAST(iif(ytd.hPayType <> -1,t.sCode, 'NET') AS varchar(10)) sPayType
    

    2 回复  |  直到 15 年前
        1
  •  0
  •   Eduardo Rascon    15 年前

    在我的上一份工作中,我经常使用firebird,当您在db中已经存储了一个大的(长度)varchar字段值,并且您试图在delphi中“获取”字符串,尝试将db中的值更新为一个小的(长度)varchar时,就会发生这个错误。我不确定是否适合你,但试试看。

        2
  •  0
  •   jrodenhi    15 年前

    好吧,再加上一点经验,我似乎看到这个截断错误与delphi2010版的ClientDatasets一致。如果我找到一个不需要在查询中使用CAST的解决方案,我会在这里发布它。但现在,我要结束这个帖子。