这个程序怎么会抛nullpointerException呢?各位大侠帮我看看!

zhuhezan 2010-11-22 10:58:12
<%@ page pageEncoding="gb18030" %>
<%@ page import="java.sql.*, com.bjsxt.bbs.*, java.util.*"%>

<%!
private void tree(Set<Article> articles, Connection conn, int id, int grade) {
String sql = "select * from article where pid = " + id;
System.out.println(sql);
Statement stmt = DB.createStmt(conn);
System.out.println(conn);
System.out.println(stmt);
ResultSet rs = DB.executeQuery(stmt, sql);

System.out.println(rs);
try {
while(rs.next()) {
Article a = new Article();
a.setId(rs.getInt("id"));
a.setPid(rs.getInt("pid"));
a.setRootid(rs.getInt("rootid"));
a.setGrade(grade);
a.setTitle(rs.getString("title"));
a.setLeaf(rs.getInt("isleaf") == 0 ? true : false);
a.setPdate(rs.getTimestamp("pdate"));
articles.add(a);
if (!a.isLeaf()) {
tree(articles, conn, a.getId(), grade+1);
}
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DB.close(stmt);
DB.close(rs);
}
}
%>

<%
Set<Article> articles = new HashSet<Article>();
Connection conn = DB.getConn();
tree(articles, conn, 0, 0);
DB.close(conn);
%>

这是我的写的JSP的部分代码, 这程序总是在while(rs.next()) 行抛nullpointerException 错;
这是为什么啊?


DB是为连接数据库而封装的一个类, Article 也是封装的一个类;
Article.java 代码如下:
package com.bjsxt.bbs;
import java.util.*;

public class Article {

private int id;
private int pid;
private int rootid;
private int grade;
private String title;
private String cont;
private Date pdate;
private boolean isLeaf;

public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getPid() {
return pid;
}
public void setPid(int pid) {
this.pid = pid;
}
public int getRootid() {
return rootid;
}
public void setRootid(int rootid) {
this.rootid = rootid;
}

public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getCont() {
return cont;
}
public void setCont(String cont) {
this.cont = cont;
}
public Date getPdate() {
return pdate;
}
public void setPdate(Date pdate) {
this.pdate = pdate;
}
public boolean isLeaf() {
return isLeaf;
}
public void setLeaf(boolean isLeaf) {
this.isLeaf = isLeaf;
}
}
...全文
217 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
e3e4p 2010-11-23
  • 打赏
  • 举报
回复
结果集为空,插进去几条数据吧,如果只是防止报错,在前面加上,if(rs!= null),然后再遍历就好了
zhuhezan 2010-11-23
  • 打赏
  • 举报
回复
数据库里面没有数据?
xiaoair 2010-11-23
  • 打赏
  • 举报
回复
往数据库里插几条数据试试吧
bb12152205gg 2010-11-23
  • 打赏
  • 举报
回复
数据库没连上
njpingwen 2010-11-23
  • 打赏
  • 举报
回复
SQL打印出来的语句执行下,看看有没有数据

建议jsp页面中不要写java代码
Jlins 2010-11-23
  • 打赏
  • 举报
回复
。[Quote=引用 2 楼 soli11722984 的回复:]

把DB代码贴出来再说吧
[/Quote]
meteor1015 2010-11-23
  • 打赏
  • 举报
回复
rs 没有拿到

试试这样可以否

ResultSet rs = stmt.executeQuery(sql);
soli11722984 2010-11-23
  • 打赏
  • 举报
回复
把DB代码贴出来再说吧
leehuat 2010-11-23
  • 打赏
  • 举报
回复

数据库里面没有数据?
内容概要:本文围绕“可再生能源发电与电动汽车的协同调度策略”展开硕士论文级别的研究与复现工作,基于Matlab平台构建了高比例可再生能源接入背景下电力系统与电动汽车(EV)之间的多时间尺度协同优化模型。研究重点在于应对风光发电不确定性,充分利用电动汽车作为移动储能单元的灵活充放电能力(含V2G技术),实现电网削峰填谷、提升新能源消纳效率与系统运行经济性。文中综合考虑了异质电动车集群特性、V2G过程中的损耗约束以及随机因素影响,采用如深度确定性策略梯度(DDPG)强化学习、混合整数线性规划(MILP)等先进优化算法进行求解,并通过基准模型对比验证了所提自适应调度策略在提升电网稳定性、降低运行成本方面的有效性。; 适合人群:具备一定电力系统基础知识、优化理论背景及Matlab编程能力的研究生、科研人员,以及从事新能源并网、智能电网调度、车网互动(V2G)等方向的工程技术人员。; 使用场景及目标:①学习并复现已发表高水平硕士论文中的协同调度建模方法与仿真流程;②掌握将深度强化学习(如DDPG)应用于虚拟电厂、电动汽车集群调度等复杂非线性决策问题的技术路径;③为开展新能源消纳、需求侧响应、微电网优化运行等相关课题的研究提供可复用的代码框架与创新思路参考。; 阅读建议:建议读者结合文中提供的完整Matlab代码与技术文档,深入理解模型构建逻辑、算法实现细节与参数设置依据,优先在Simulink/Matlab环境中运行并调试仿真案例,通过调整场景参数与算法超参,探究不同策略对调度效果的影响,从而深化对协同调度机制与智能优化方法应用的理解。

81,111

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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