当前位置: 技术问答>java相关
为什么我不能添加数据?
来源: 互联网 发布时间:2015-04-06
本文导语: 我在使用这种方法向数据库插入新数据的时候出现错误: (1)首先,数据集以允许修改的格式打开: String sql = "SELECT urLoginName FROM users"; int dType = java.sql.ResultSet.TYPE_FORWARD_ONLY; int dConcur = java.sql.ResultSet.CONCUR_UPDAT...
我在使用这种方法向数据库插入新数据的时候出现错误:
(1)首先,数据集以允许修改的格式打开:
String sql = "SELECT urLoginName FROM users";
int dType = java.sql.ResultSet.TYPE_FORWARD_ONLY;
int dConcur = java.sql.ResultSet.CONCUR_UPDATABLE;
Statement statement = connection.createStatement(dType, dConcur);
//Connection connection已经在前面初始化完成。
ResultSet resultset = statement.executeQuery(sql);
resultset.first();
(2)添加数据
resultset.moveToInsertRow();
resultset.updateString("urLoginName","Dog");
resultset.insertRow();
其中,resultset.insertRow();报告错误,java.lang.NullPointerException
而且,如果我在resultset.insertRow();之前测十一下数据:
System.out.println(resultset.getString("urLoginName"));
得到的数据不是Dog,而是原来数据集中的第一条记录,也就是
resultset.updateString("urLoginName","Dog");
没有执行。这是为什么?
我的数据库是mySQL.
System.out.println(resultset.getString("urLoginName"));
(1)首先,数据集以允许修改的格式打开:
String sql = "SELECT urLoginName FROM users";
int dType = java.sql.ResultSet.TYPE_FORWARD_ONLY;
int dConcur = java.sql.ResultSet.CONCUR_UPDATABLE;
Statement statement = connection.createStatement(dType, dConcur);
//Connection connection已经在前面初始化完成。
ResultSet resultset = statement.executeQuery(sql);
resultset.first();
(2)添加数据
resultset.moveToInsertRow();
resultset.updateString("urLoginName","Dog");
resultset.insertRow();
其中,resultset.insertRow();报告错误,java.lang.NullPointerException
而且,如果我在resultset.insertRow();之前测十一下数据:
System.out.println(resultset.getString("urLoginName"));
得到的数据不是Dog,而是原来数据集中的第一条记录,也就是
resultset.updateString("urLoginName","Dog");
没有执行。这是为什么?
我的数据库是mySQL.
System.out.println(resultset.getString("urLoginName"));
|
有可能是驱动的bug,换个最新的2.0.11试试
|
statement.executeQuery(sql) 查询有误,可能返回的是空纪录
导致resulset不是合法对象
导致resulset不是合法对象
|
呵呵,不客气。
|
学习学习。