java 在表格中显示mysql查询结果中(包含有空值)的显示问题

问题如下:
在数据库中的查询结果如下,但是在但是到了java编程JTable中就无法正常显示了,求简单一点的实现方案~

提示错误的部分代码如下:

运行结果如下:

如果把Grade属性去了就能正常显示(我的目的是要显示Grade当然不可以去了这个属性,求解决方案):

第1个回答  推荐于2018-05-06

    直接方案

    不要用“new String()”,改成String.valueOf()

    第二套方案在写

    Vector的类型可以改成:Vector<Object>

    rs.getObject(i+1)

    Vector类型

    Vector should be avoided; it’s only in the library for legacy code support

    这个类型在java1.1就有了,至今已经不用了,留着它是为了,防止破坏老代码

    所以这里你可以用

    List<Object[]>

本回答被提问者和网友采纳
第2个回答  2013-12-12
1、getString获得的就是String类型,不用new String()了
2、我记得JTable会自动把null值变空字符串,你空指针是因为new String,直接去掉试试,不行再看3
3、那句改成temp.add(rs.getString(i + 1) == null ? "" : rs.getString(i + 1)),或者你加if判断也行追问

你的方法也可以,不过只能采纳一个,给先回答的吧。谢谢了~

第3个回答  2017-11-23

需要改一行代码

temp.add(new String(rs.getString(i+1)+""));

第4个回答  2017-11-27
这很简单,在sql,Grade字段上添加,ifnull函数,可以解决
第5个回答  2017-11-24
判断一下就行了,为空就录入“”;这里是因为字段为null导致异常,你也可以数据库中设置grade字段默认值“”,这样也不会报错

java 在表格中显示mysql查询结果中(包含有空值)的显示问题
直接方案 不要用“new String()”,改成String.valueOf()第二套方案在写 Vector的类型可以改成:Vector<Object> rs.getObject(i+1)Vector类型 Vector should be avoided; it’s only in the library for legacy code support 这个类型在java1.1就有了,至今已经不用了,留着它是为了,防止破坏老...

如何将mysql数据库表中的内容显示在Web页面中,用什么软件实现呢?_百度...
1、首先我们使用数据库连接工具HeiDiSQL来连接本机的mysql数据库,2、使用该工具创建一个test数据库,3、在该数据库中创建一张student表,该表中有id、name和age字段,我们同时给数据库添加数据,如下图所示。4、我们创建一个Student类,并为该类分别创建id、name和age属性,并用private修饰符进行限定。

如何在JSP页面显示mysql数据库内容
建的如果是web工程,当Class.forName("com.mysql.jdbc.Driver");时,Eclipse是不会去查找字符串,不会去查找驱动。所以需要把mysql-connector-java-5.1.10-bin.jar拷贝到tomcat下lib目录下,然后,右键【工程】,点击【properties】,然后点击【Java Build Path】,点击【Add External Jars...】,从to...

JAVA直接从表格中对数据库的数据进行修改和删除,但是数组越界为-1_百度...
查询的语句会写,修改和删除的语句也应该会吧,只不过根据主键去修改删除而已,比如你这里的学生ID 至于获取ID那个单元格的数据,应该用table1.getModel().getValueAt(selectedRowIndex , 0)).toString();

MySQL随机查询优化问题,怎么解决
在这单表查询统计的情况下,如果要过滤的条件没有涉及到要计算字段,那它们的结果是一样的,只是where可以使用rushmore技术,而having就不能,在速度上后者要慢如果要涉及到计算的字 段,就表示在没计算之前,这个字段的值是不确定的,根据上篇写的工作流程,where的作用时间是在计算之前就完成的,而having就是在计算后才...

Java中JTble表格中的数据如何逐行显示?
这个可以实现。JTable的有一个方法是getTableModel().返回提供此 JTable 所显示数据的 TableModel.TableModel是一个接口,实际上返回的是DefaultTableModel类,它实现了TableModel接口。这个类中有一个方法是void addRow(Object[] rowData)。它就是将一行插入到JTable中。不过JTable的setValueAt方法应该...

java连接数据库中的DBConn.getConn()为空怎么办
JDBC连接数据库必须要有的条件:加载的驱动 要连接的数据库 账号 密码 这些你都没有,以下是我写的一个连接:这个连接包含了增删改查的处理,也包含了资源的释放。下面是查询方法:然后调用就好了 如果有帮助请采纳

mysql 数据库后台 乱码问题 全市问号 怎么办?
一、JSP页面显示乱码 下面的显示页面(display.jsp)就出现乱码: 对不同的WEB服务器和不同的JDK版本,处理结果就不一样。原因:服务器使用的编码方式不同和浏览器对不同的字符显示结果不同而导致的。解决办法:在JSP页面中指定编码方式(gb2312),即在页面的第一行加上:,就可以消除乱码了。完整页面如下: 二、表单...

mysql 设置一张表性别sex一列为char(1)【varchar(1)也试过,结果不行...
resultSet.next()用没?resultSet。getString(这里用数字嘛,在你的数据库里它在第几列,从一列开始);

JAVA程序应用与开发(java应用开发技术实例教程)
完成了程序的开发,查看相应t目录,其中应该具有两个文件,分别是XXXX.java和XXXX.class。 如果是开发网页应用,开发流程大概是这样的: 搭建开发平台,一般使用的是j2ee 编写DAO层,建立数据库 编写业务层action 编写显示文件jsp、html Java桌面端程序开发 Java对于服务器个人电脑和移动设备来说是一项伟大的技术由于需要java...

相似回答