String sql1= "insert into revlet" + "(rname,rmid,rcontent,rDate) values('" + rname + "'," + rmid+ ",'" + rcontent + "','" + rDate+ "');";
String sql2="update message set mnumber=mnumber+1 where mid="+ rmid;
try {
pst = getConn().prepareStatement(sql1+sql2);
pst.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
close();
}
问一下这样把sql1和sql2语句加在一起`程序运行后没数据库操作没有成功``可是这SQL语句是对的呀`在mysql命令行可以把sql1+sql2的内容一起运行`
但是把sql1或者sql2放到pst = getConn().prepareStatement()里数据库操作也可以成功`
可是我现在想让这2条数据库操作语句一起运行了该怎么改呀?
String sql2="update message set mnumber=mnumber+1 where mid="+ rmid;
try {
pst = getConn().prepareStatement(sql1+sql2);
pst.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
close();
}
问一下这样把sql1和sql2语句加在一起`程序运行后没数据库操作没有成功``可是这SQL语句是对的呀`在mysql命令行可以把sql1+sql2的内容一起运行`
但是把sql1或者sql2放到pst = getConn().prepareStatement()里数据库操作也可以成功`
可是我现在想让这2条数据库操作语句一起运行了该怎么改呀?
conn.setAutoCommit(false);
ps = conn.prepareStatement(sql);
for(int i=0; i <roomids.length; i++) ps.setString(1,ksid);
ps.setString(2,roomids[i]);
ps.addBatch();
}
ps.executeBatch();
conn.setAutoCommit(true); 给你段代码,你看看吧。主要的核心是 executeBatch() 方法,这个方法可以进行批量的进行数据库语句的执行。
我觉得写个存储过程可以解决楼主的问题