java查询未正确执行
我有从两个数据库调用查询的代码,但它必须同时编译。这是我的密码
public void SummTEkspor(){
TEkspor ti = new TEkspor();
TEksporDAOImpl impd = new TEksporDAOImpl (DBConnection.getInstance().getCon());
String sql1 ="DELETE FROM a.dbo.t_export\n" +
"INSERT INTO a.dbo.t_export\n" +
"SELECT * FROM b.dbo.export x WHERE x.sk_batch IN \n" +
"(SELECT sk_batch from batch_hdr WHERE
mth="+cmbBln.getSelectedItem()+
"AND year="+cmbThn.getSelectedItem();
try {
Statement st = kon.conn.createStatement();
Statement st2 = kon.secCon.createStatement();
ResultSet rs = st.executeQuery(sql1);
while (rs.next()) {
System.out.println("success");
}
} catch (Exception x) {
System.out.println("error");
}
}
但是,当我运行它时,输出很好,但是查询没有正确执行,因为我的表中没有数据,而该表中有一些数据
有什么解决办法吗?谢谢你的回复
# 1 楼答案
使用
executeUpdate
而不是executeQuery
并尝试将查询划分为多个查询# 2 楼答案
尝试使用
executeUpdate
而不是executeQuery
来更新数据。分离select查询并使用executeQuery
执行它,然后获取结果集# 3 楼答案
更好的替代方法是不要在一行中使用所有语句,因为检索时应调用executequery,删除或插入时应调用executeUpdate方法。 同时避免使用
statement
和PreparedStatement