JAVA读取串口数据,可以输出,但写入数据库显示值都是0,不知问题在哪里?

cgmguangming 2018-06-30 10:55:18
JAVA业余学习者,准备写一个小测试程序,读取串口接收的数据,在字节数组缓存,之后存入数据库中,测试中控制台可以输出数字,但存入数据库后显示全是0,不知问题在哪里?谢谢网友解答!

public void serialEvent(SerialPortEvent event) {
//定义用于缓存读入数据的数组
byte[] cache = new byte[1024];
//记录已经到达串口COM2且未被读取的数据的字节(Byte)数。
int availableBytes = 0;

//如果是数据可用的时间发送,则进行数据的读写
if(event.getEventType() == SerialPortEvent.DATA_AVAILABLE){
try {
availableBytes = inputStream.available();
while(availableBytes > 0){
inputStream.read(cache);
for(int i = 0; i < cache.length && i < availableBytes; i++){
//解码并输出数据
System.out.print((char)cache[i]);

// int m1=cache[i];
// System.out.print(m1);
Part part=new Part(cache[i]);//数据库写入

Connection con=null;
try{
con=db_util.getCon();
PartDao.add(con, part);
}finally{
try {
db_util.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
availableBytes = inputStream.available();
}
}
}

catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}


串口调试软件发送后,控制台收到数据:
数据口中没有值,只是行的增加
...全文
374 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cgmguangming 2018-07-09
  • 打赏
  • 举报
回复
引用 1 楼 tianfang 的回复:
把插入数据打印一下,跟踪一下数据值

非常谢谢您的回复,经过查找测试,发现这段代码没问题,问题出在了实体构造处理错误。
tianfang 2018-07-01
  • 打赏
  • 举报
回复
把插入数据打印一下,跟踪一下数据值

50,639

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧