我正在使用进度并在数据库中有一个字段类型为longchar。
由于longchar类型不允许输入/输出函数,因此无法输出内容。
有没有办法拆分longchar …
有不止一种方法可以做到这一点。一种这样的方式如下。它将LONCHAR变量拆分为块并以块的形式显示它们。但是你应该记住,一个CHARACTER变量不能超过32000个字符(实际上略少于32000个字符),所以你不能将整个LONGCHAR存储到一个CHARACTER变量中并显示它。
DEF VAR l_var AS LONGCHAR. DEF VAR chunk_size AS INT64 INIT 30000. DEF VAR tot_size AS INT INIT 0. DEF VAR char_piece AS CHAR. COPY-LOB FROM FILE "myfile.txt" TO l_var. DO WHILE tot_size < LENGTH(l_var): char_piece = SUBSTR(l_var,1,chunk_size,"character"). MESSAGE char_piece. tot_size = tot_size + chunk_size. END.
据我所知,你不能在数据库中有一个LONGCHAR字段。
你实际上可以输出LONGCHARS。我可能不实用(取决于变量的内容)但它可以完成。
在基本ABL中,您可以使用“view-as editor large”显示longchar - 然后您需要设置行数和宽度(以字符为单位)。
DEFINE VARIABLE c AS LONGCHAR NO-UNDO. c = FILL("a", 20000). DISPLAY c VIEW-AS EDITOR LARGE INNER-LINES 60 INNER-CHARS 100 WITH FRAME f1 WIDTH 120.
在Webspeed中,您可以使用{&amp; OUT-LONG}预处理器轻松地将longchar输出到网络流。
{&OUT-LONG} variableName.