0
是否有可能使用预处理语句在Java中进行联接?准备好的语句加入Java
public class Test {
static Connection conn;
static PreparedStatement ps;
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
String sql = "select addr.address_id from address addr inner join pizza_stores ps on addr.address_id = ps.address_id";
conn = ConnectionUtil.getConnection();
ps = conn.prepareStatement(sql);
System.out.println("DEBUG--: before query");
ResultSet rs = ps.executeQuery(sql);
while(rs.next()) {
System.out.println(rs.getInt("addr.address_id"));
}
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
我没有得到任何结果,但是当我在SQL Developer中运行我得到的结果(例如ADDRESS_ID - > 1,2,3)。我将在稍后使用存储过程。我只是好奇。
你可以在sql语句中做任何你想做的事情。还有其他的事情在这里并不明显。 – OldProgrammer
您如何使用“prepareStatement”似乎存在错误。你首先调用'ps = conn.prepareStatement(sql);'然后再次传入sql ResultSet rs = ps.executeQuery(sql);'。不过,我认为它应该可以工作,因为您没有任何投入来设置。空白的结果集可能是连接到db用户?尝试使用rs.getIn(1)而不是列名? –
尝试使用'getInt(“address_id”)'而不是'getInt(“addr.address_id”)' –