2 shelley chason shelley_chason 于 2017.08.30 01:11 提问

jsp+JavaBean使用list查询信息无法获得结果

JavaBean中的方法:
public List queryAllStu() {
List stus = new ArrayList();
try {
pstmt = conn.prepareStatement("select * from studentinfo");
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
stuInfo stu = new stuInfo();
stu.setId(rs.getInt(1));
stu.setNicheng(rs.getString(2));
stu.setTruename(rs.getString(3));
stu.setXb(rs.getByte(4));
if (rs.getDate(5) != null) {
stu.setCsrq(rs.getDate(5).toString());
}
stu.setZy(rs.getString(6));
if (rs.getString(7) != null) {
stu.setKc(rs.getString(7).split("&"));
}
if (rs.getString(8) != null) {
stu.setXq(rs.getString(8).split("&"));
}
stu.setBz(rs.getString(9));
stus.add(stu);
}
return stus;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
jsp页面:


/jsp:useBean
<%
List stus=stuInfoService.queryAllStu();
if(stus==null)
out.print("null");
else
out.print(stus.size());
%>

数据库中有信息但每次都返回null怎么回事

6个回答

Small_Mouse0
Small_Mouse0   Ds   Rxr 2017.08.30 11:28
已采纳

你看下控制台,,,截图发上来,,,八成是异常了,,然后

  e.printStackTrace();
            return null;
Small_Mouse0
Small_Mouse0 回复shelley_chason: 0.0,,,,,驱动包??还有这种操作,,,,“Value '‘is out of range [-127,127],单引号里面是个正方形。”估计是乱码了,而且数据类型没对上,,8位整形[-127,127],整形在sql中,不加引号的
3 个月之前 回复
shelley_chason
shelley_chason jar包换了就正常了 q_q
3 个月之前 回复
shelley_chason
shelley_chason 是数据类型不正确?
3 个月之前 回复
shelley_chason
shelley_chason 这次控制台提示:Value '‘is out of range [-127,127],单引号里面是个正方形。
3 个月之前 回复
shelley_chason
shelley_chason 好的,我试试
3 个月之前 回复
Small_Mouse0
Small_Mouse0 回复shelley_chason: 你sql语句有问题吧,,,,对了,,,你用了*,,把*换了,,要不然对不上(查出来的列和你获取的对不上)
3 个月之前 回复
Small_Mouse0
Small_Mouse0 回复shelley_chason: 感觉像是数据库的问题
3 个月之前 回复
shelley_chason
shelley_chason 这是类型不对吗?
3 个月之前 回复
shelley_chason
shelley_chason 回复小鼠标丶: Unknown type '16 in column 3 of 9 in binary-encoded result set.
3 个月之前 回复
Small_Mouse0
Small_Mouse0 题主在后台用main测试一下这个方法能不能正常运行“ queryAllStu()”
3 个月之前 回复
zy841958835
zy841958835   Ds   Rxr 2017.08.30 08:48

你在java代码中调用stuInfoService.queryAllStu()有返回值么 debug下

zy841958835
zy841958835 以后多debug下就好了
3 个月之前 回复
shelley_chason
shelley_chason jar包的锅,谢谢啦。
3 个月之前 回复
shelley_chason
shelley_chason 没有值欸,我觉得我的sql有问题,这是控制台提示:Value '‘is out of range [-127,127],单引号里面是个正方形。
3 个月之前 回复
zy841958835
zy841958835 1
3 个月之前 回复
zy841958835
zy841958835 List stus=stuInfoService.queryAllStu(); 看下stus 这集合是不是空的
3 个月之前 回复
shelley_chason
shelley_chason debug了,但好多参数不知道看哪一个
3 个月之前 回复
cyjdapao
cyjdapao   2017.08.30 08:58

数据里有信息又不代表你的sql执行啦 debug、看看pstmt = conn.prepareStatement("select * from studentinfo");
ResultSet rs = pstmt.executeQuery(); 这两步执行了没 看看rs有值没 要不然就是你返回前台数据的方式有问题

shelley_chason
shelley_chason debug了,但看不懂,第一次写,那个参数代表rs呀
3 个月之前 回复
Catnapper__
Catnapper__   2017.08.30 09:19

这种问题 最简单就是debug 下,你这估计是中间的代码块抛异常了,所以在catch里面返回了null

u011315960
u011315960   2017.08.30 10:30

这个错误不是e.printStackTrace(); 打印异常了吗 ,看看错误是什么,一般是数据类型不匹配,数组越界,要不就是你的数据库连接没成功

shelley_chason
shelley_chason 这是类型不对吗?
3 个月之前 回复
shelley_chason
shelley_chason Unknown type '16 in column 3 of 9 in binary-encoded result set.
3 个月之前 回复
shelley_chason
shelley_chason   2017.08.30 15:01

问题解决了,是jdbc的jar包出了问题无法识别byte类型的变量。

Csdn user default icon
上传中...
上传图片
插入图片