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開発者で実行したとき、私は結果(元のADDRESS_ID - > 1、2、3)を得ますか。私は後でこのためにストアドプロシージャを使用します。ただ興味があるだけ。
SQL文で必要な処理を実行できます。ここには何も起こっておらず、それは明らかではありません。 – OldProgrammer
"prepareStatement"の使い方にエラーがあるようです。最初に 'ps = conn.prepareStatement(sql);'を呼び出し、sqlを再び 'ResultSet rs = ps.executeQuery(sql);'に渡しました。しかし、私はあなたが設定するための入力がないので、それはうまくいくと思います。空白の結果セットは、接続されたdbユーザーになる可能性がありますか?カラム名の代わりにrs.getIn(1)を使用してみてください。 –
getInt( "addr.address_id") 'の代わりに' getInt( "address_id") ' –