主要代码如下private int[] field;
private PreparedStatement pst;
private PreparedStatement ps; 方法:public void SQLSetField(int length)代码如下:
Class.forName("org.gjt.mm.mysql.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/new_db","root","23755959");
pst = (PreparedStatement) con.prepareStatement(SQL_SELECT_VALUE);
ResultSet rs_1 = pst.executeQuery();
for(int i=0;i<length;i++)
{
if(rs_1.next() == true)
{
field = new int[length];
field[i] = rs_1.getInt(1);
ps = con.prepareStatement(SQL_SELECT_INSERTTABLE);
ps.setInt(1,field[i]);
ps.executeQuery();
}
}
2个sql代码如下:
final private String SQL_SELECT_VALUE =
"SELECT value FROM qn_rrd_value " + "ORDER BY time DESC";
private String SQL_SELECT_INSERTTABLE =
"INSERT INTO qn_rrd_value_store (value)" +" VALUES (?);";//数据库测试是可以连通的,查询可以查出来,但是写入出问题下面是我的printstacktrace()所捕获的错误
java.sql.SQLException: Can not issue data manipulation statements with executeQuery().
at com.mysql.jdbc.Statement.checkForDml(Statement.java:298)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:950)
at multiSqlTest.sqlSettable.SQLSetField(sqlSettable.java:46)
at multiSqlTest.sqlSettable.main(sqlSettable.java:59)
private PreparedStatement pst;
private PreparedStatement ps; 方法:public void SQLSetField(int length)代码如下:
Class.forName("org.gjt.mm.mysql.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/new_db","root","23755959");
pst = (PreparedStatement) con.prepareStatement(SQL_SELECT_VALUE);
ResultSet rs_1 = pst.executeQuery();
for(int i=0;i<length;i++)
{
if(rs_1.next() == true)
{
field = new int[length];
field[i] = rs_1.getInt(1);
ps = con.prepareStatement(SQL_SELECT_INSERTTABLE);
ps.setInt(1,field[i]);
ps.executeQuery();
}
}
2个sql代码如下:
final private String SQL_SELECT_VALUE =
"SELECT value FROM qn_rrd_value " + "ORDER BY time DESC";
private String SQL_SELECT_INSERTTABLE =
"INSERT INTO qn_rrd_value_store (value)" +" VALUES (?);";//数据库测试是可以连通的,查询可以查出来,但是写入出问题下面是我的printstacktrace()所捕获的错误
java.sql.SQLException: Can not issue data manipulation statements with executeQuery().
at com.mysql.jdbc.Statement.checkForDml(Statement.java:298)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:950)
at multiSqlTest.sqlSettable.SQLSetField(sqlSettable.java:46)
at multiSqlTest.sqlSettable.main(sqlSettable.java:59)
解决方案 »
- 如何用JAVA提取文本文档的多个数据(给分贴)
- 如何使double类型的数字原样输出?(这个问题不简单)
- hibernate 映射sql server中的binary字段做主键
- 初学者问问高手门 Z变量 为什么 不能在Method2中访问到???是什么原因 他不已经继承了OuterD1不是已经继承了OuterA1了吗?请大家指教一下
- jsp页面如何装换转换word,急用
- int[] a2 = new int[10]; Arrays.fill(a1, 47); 数组a2的所有元素都引用一个对象 "47"; 还是有10个"47"对象一一对应a2中的每个元素
- Java基础的两个小问题, 求解.
- 帮我看看这段代码!!!谢谢
- 为什么我的Swing中没有mail包呢?即javax.mail.*时无mail呢?
- 各位侠兄,问一个JavaScript的问题!十万火急!
- Java,我该如何学习?
- 请问 我想用java访问局域网里面的共享文件资源
你用的是选择的权限SQL_SELECT_INSERTTABLE
改成这样
ps = con.prepareStatement();
它返回的是一个ResultSet的引用,所以发生了runtimeException
我将之改为
ps.execute();这个返回是是一个promitive类型 所以OK了