用StringBuilder连接MYSQL字段时被清空的问题

问题描述

读取MySQL的数据,然后使用StringBuilder进行连接,但在运行时发现每次append到一个字段的时候StringBuilder就会被清空,最后只剩后边的几个字段。
假如读出了四个字段:

字段名称
id10150145806225128
姓名张三
消息謝謝大家支持。
时间2016-06-13 19:09:47

正确运行的话,应该最终输出:

10150145806225128;张三;謝謝大家支持。;2016-06-13 19:09:47;0

但实际的输出过程是:

10150145806225128
10150145806225128;张三
10150145806225128;张三;謝謝大家支持。
2016-06-13 19:09:47
最终:2016-06-13 19:09:47

可以看到在append完消息字段后,再append时间的时候StringBuilder被清空了。
如果append的时候跳过消息字段,也没有任何问题

10150145806225128
10150145806225128;张三
10150145806225128;张三;2016-06-13 19:09:47
最终:10150145806225128;张三;2016-06-13 19:09:47

可能的解决方案

(1)首先考虑了StringBuilder长度限制的问题,但根据以往经验应该不是,因为没有限制length参数,而且所有字段数据加起来也不长。
(2)考虑了编码的影响,发现也没什么问题,从数据库到程序都使用了utf8,在程序里加了强制转换也依然没什么用处。
(3)怀疑是字段内容的问题,该字段为消息字段,内容为中文,如果把内容直接复制出来,在程序里直接append没有任何问题,但是如果从数据库里读再append就会出现清空的现象。
感觉应该是读取数据库的时候在字段内容末尾加了什么奇怪的东西,加了个trim()试了下,竟然成功了……

10150145806225128
10150145806225128;张三
10150145806225128;张三;謝謝大家支持。
10150145806225128;张三;謝謝大家支持。;2016-06-13 19:09:47
最终:10150145806225128;张三;謝謝大家支持。;2016-06-13 19:09:47

总结

So,就这么解决了,下次读取数据库里文本的时候,记得trim()一下……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值