有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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");
        }
    }

但是,当我运行它时,输出很好,但是查询没有正确执行,因为我的表中没有数据,而该表中有一些数据

有什么解决办法吗?谢谢你的回复


共 (3) 个答案

  1. # 1 楼答案

    使用executeUpdate而不是executeQuery并尝试将查询划分为多个查询

  2. # 2 楼答案

    尝试使用executeUpdate而不是executeQuery来更新数据。分离select查询并使用executeQuery执行它,然后获取结果集

  3. # 3 楼答案

    更好的替代方法是不要在一行中使用所有语句,因为检索时应调用executequery,删除或插入时应调用executeUpdate方法。 同时避免使用statementPreparedStatement