错误:Exception in thread "main" java.lang.NullPointerException
at com.mysql.jdbc.UpdatableResultSet.syncUpdate(UpdatableResultSet.java:1550)
at com.mysql.jdbc.JDBC4UpdatableResultSet.updateNString(JDBC4UpdatableResultSet.java:311)
at com.mysql.jdbc.JDBC4UpdatableResultSet.updateNString(JDBC4UpdatableResultSet.java:345)
at cn.ailab.patentmining.dao.Write.writeToDB(Write.java:45)
at cn.ailab.patentmining.core.cluster.kmeans.CoreKmeans.coreKmeans(CoreKmeans.java:68)
at cn.ailab.patentmining.test.core.execute.main(execute.java:12)
代码: Connection con = MysqlUtil.getInstance().getConn();
if( con == null )
System.out.println(1);
Statement stmt = (Statement)con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
if( stmt == null )
System.out.println(2);
String sql = "create table clusterResult("+
"id nvarchar(30) null, "+
"n1 nvarchar(30) null, "+
"n2 nvarchar(30) null, "+
"n3 nvarchar(30) null, "+
"n4 nvarchar(30) null, "+
"n5 nvarchar(30) null, "+
"n6 nvarchar(30) null, "+
"n7 nvarchar(30) null, "+
"primary key(id));";
//System.out.println(sql);
stmt.executeUpdate(sql);
ResultSet rs = stmt.executeQuery("select id,n1,n2,n3,n4,n5,n6,n7 from clusterResult where id is null");
if( rs == null )
System.out.println(3);
String ss;
ss = "xf";
rs.updateNString("id", ss); //出错的地方
rs.insertRow();关于mysql链接的代码:
public class MysqlUtil { private static MysqlUtil mysqlUtil; private MysqlUtil() {
} public static MysqlUtil getInstance() {
if (null == mysqlUtil) {
mysqlUtil = new MysqlUtil();
}
return mysqlUtil;
} static {
try {
Class.forName("com.mysql.jdbc.Driver");// 加载驱动
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
} // 获取连接
public Connection getConn() {
try {
return DriverManager.getConnection(MysqlPrameters.URL, MysqlPrameters.USER,
MysqlPrameters.PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
} // 释放资源
public void release(ResultSet rs, Statement st, Connection conn) {
if (null != rs) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
} if (null != st) {
try {
st.close();
} catch (SQLException e) {
e.printStackTrace();
}
} if (null != conn) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}}代码我是修改别人的,需要增加一个把内容写入到数据库的功能,但是出错了。求大牛解答。(前面还要利用mysql链接那个类从数据库里面读入数据,是不是对写有影响的?)
at com.mysql.jdbc.UpdatableResultSet.syncUpdate(UpdatableResultSet.java:1550)
at com.mysql.jdbc.JDBC4UpdatableResultSet.updateNString(JDBC4UpdatableResultSet.java:311)
at com.mysql.jdbc.JDBC4UpdatableResultSet.updateNString(JDBC4UpdatableResultSet.java:345)
at cn.ailab.patentmining.dao.Write.writeToDB(Write.java:45)
at cn.ailab.patentmining.core.cluster.kmeans.CoreKmeans.coreKmeans(CoreKmeans.java:68)
at cn.ailab.patentmining.test.core.execute.main(execute.java:12)
代码: Connection con = MysqlUtil.getInstance().getConn();
if( con == null )
System.out.println(1);
Statement stmt = (Statement)con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
if( stmt == null )
System.out.println(2);
String sql = "create table clusterResult("+
"id nvarchar(30) null, "+
"n1 nvarchar(30) null, "+
"n2 nvarchar(30) null, "+
"n3 nvarchar(30) null, "+
"n4 nvarchar(30) null, "+
"n5 nvarchar(30) null, "+
"n6 nvarchar(30) null, "+
"n7 nvarchar(30) null, "+
"primary key(id));";
//System.out.println(sql);
stmt.executeUpdate(sql);
ResultSet rs = stmt.executeQuery("select id,n1,n2,n3,n4,n5,n6,n7 from clusterResult where id is null");
if( rs == null )
System.out.println(3);
String ss;
ss = "xf";
rs.updateNString("id", ss); //出错的地方
rs.insertRow();关于mysql链接的代码:
public class MysqlUtil { private static MysqlUtil mysqlUtil; private MysqlUtil() {
} public static MysqlUtil getInstance() {
if (null == mysqlUtil) {
mysqlUtil = new MysqlUtil();
}
return mysqlUtil;
} static {
try {
Class.forName("com.mysql.jdbc.Driver");// 加载驱动
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
} // 获取连接
public Connection getConn() {
try {
return DriverManager.getConnection(MysqlPrameters.URL, MysqlPrameters.USER,
MysqlPrameters.PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
} // 释放资源
public void release(ResultSet rs, Statement st, Connection conn) {
if (null != rs) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
} if (null != st) {
try {
st.close();
} catch (SQLException e) {
e.printStackTrace();
}
} if (null != conn) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}}代码我是修改别人的,需要增加一个把内容写入到数据库的功能,但是出错了。求大牛解答。(前面还要利用mysql链接那个类从数据库里面读入数据,是不是对写有影响的?)
解决方案 »
- action跳转action怎么传值
- JSP上传文件问题...加急...
- struts上传文件出现Servlet execution threw an exception
- 做上传图片功能的时候出错了,请高手帮忙!!!
- 那位知道那里有免费的j2ee空间??
- Ajax,Java,Sturts,hibernate,Spring框架技术交流。群41420961
- 郁闷。。。散分
- 报Io 异常: The Network Adapter could not establish the connection 的真正问题在哪?
- 急!!!java中怎样 将int型转为string型???谢谢
- 请问如何在一个session中访问另一个已发布的session bean??
- 用户修改信息后,其他页面用户信息怎么自动改变成修改后的内容
- 在eclipse中启动tomcat时,提示下面的错误信息,如何解决?
if( rs == null )
System.out.println(3);//这里应该打印出3来了吧,说明没有查询到数据,rs为nullString ss;
ss = "xf";
rs.updateNString("id", ss); //出错的地方
rs.insertRow();
//===================================//
改成:if(rs == null){
System.out.println(3);
return;//退出程序,不在往下执行
}试试
如果是rs为null的话,肯定就执行不了rs.updateNString方法了。if( rs == null )
System.out.println(3);String ss;
ss = "xf";
rs.updateNString("id", ss); //出错的地方
rs.insertRow();改成:if( rs == null ){
System.out.println(3);
}else{
rs.updateNString("id", "xf"); //出错的地方
rs.insertRow();
}
System.out.println(3);是想看看他是否是空的,结果发现他不是空的···
return ;
}