怎么会有这样的错误提示?java.lang.NullPointerException,出现在ResultSet.next 怎么不把代码贴出来呢?一般是因为ResultSet返回值为空,你看看你的搜索结果是不是有问题。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可能试你缺少这一句:while(rs.next()) { ..... } 不是少了那一句,我的意思是在正常的情况下出现,所以觉得奇怪public void run() { String id="",command="",ip=""; Statement st=null; ResultSet rs=null; while(true){ try{ st = Conn.getConn().createStatement(); rs = st.executeQuery("select * from COMMAND where if_done=0"); String sql = ""; while(rs.next()){ id = rs.getString("id"); command = rs.getString("command"); ip = rs.getString("ip"); System.out.println("写文件"); //写文件 writeFile(id,command,ip); sql = sql+id+","; } if(rs!=null){ rs.close(); } if(!sql.equals("")){ st.executeUpdate("update COMMAND set if_do=1 where id in ("+sql.substring(0,sql.lastIndexOf(","))+")"); } if(st!=null){ st.close(); } }catch(Exception e){ e.printStackTrace(System.out); } try{this.sleep(10*1000);}catch (Exception e){} }} 可能是你没取到结果集,但又对rs做了next动作不清楚是哪个地方抛出的nullpoint 我刚才试了一下,直接把rs=null,然后rs.next(),会出现java.lang.NullPointerException然后出现错误的位置并没有这两句at com.microsoft.jdbc.base.BaseResultSet.cancelPendingUpdates(Unknown Source)at com.microsoft.jdbc.base.BaseResultSet.next(Unknown Source) Conn.java===========================import java.sql.*;public class Conn{ public static Connection getConn(){ Connection conn=null; try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb"; String user="sa"; String password=""; conn= DriverManager.getConnection(url,user,password); }catch(Exception e){e.printStackTrace();} return conn; }} 把项目部署到linux下去的时候访问不了mysql 希望有人能解答下java读文件的几种方法的差别 怎样压缩文件,zip格式的,求代码!在线等... 如何Java获取硬盘的使用率? 帮忙看Thread实现applet动画的程序 关于CSH中的几个不认识的字; 经典面试题1000题,大家一起来解决,帖子太长分几次贴出(部分2)! 请问Eclipse中导入导出工程的功能是那个插件包实现的?等结果 106527074 欢迎加入高手加入---JAVA群 怎样在application中显示图片? java程序运行十几天后占用的内存越来越大,一直都降不下去 数据库连接池的问题
while(rs.next())
{
.....
}
Statement st=null;
ResultSet rs=null; while(true){
try{
st = Conn.getConn().createStatement();
rs = st.executeQuery("select * from COMMAND where if_done=0"); String sql = ""; while(rs.next()){
id = rs.getString("id");
command = rs.getString("command");
ip = rs.getString("ip"); System.out.println("写文件");
//写文件
writeFile(id,command,ip); sql = sql+id+",";
}
if(rs!=null){
rs.close();
}
if(!sql.equals("")){
st.executeUpdate("update COMMAND set if_do=1 where id in ("+sql.substring(0,sql.lastIndexOf(","))+")");
} if(st!=null){
st.close();
} }catch(Exception e){ e.printStackTrace(System.out); }
try{this.sleep(10*1000);}catch (Exception e){}
}
}
不清楚是哪个地方抛出的nullpoint
然后出现错误的位置并没有这两句
at com.microsoft.jdbc.base.BaseResultSet.cancelPendingUpdates(Unknown Source)
at com.microsoft.jdbc.base.BaseResultSet.next(Unknown Source)
===========================
import java.sql.*;public class Conn
{
public static Connection getConn(){
Connection conn=null;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
String user="sa";
String password="";
conn= DriverManager.getConnection(url,user,password);
}catch(Exception e){e.printStackTrace();}
return conn;
}
}