0
我想從RandevufiltreSorgu.java
得到doktor [0],doktor [1],secilenBolum。我在randevusec中創建了RandevufiltreSorgu
類的對象。但是當我運行查詢時,我無法獲得我想要的值。沒有使用繼承。我能做什麼?從另一個Java類獲取值
public class randevusec {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
public ResultSet saatler() throws SQLException, Exception {
randevufiltreSorgu nesne = new randevufiltreSorgu();
try {
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/tipmerkezivt", "postgres", "2569");
ps = conn.prepareStatement(
"WITH Q1 AS(\n" + " select * from doktor natural join bolum where dr_adi='" + nesne.doktor[0]
+ "' and dr_soyadi='" + nesne.doktor[1] + "' and bolum.b_adi='" + nesne.secilenBolum + "'\n"
+ " )\n" + " select cs_saat from doktorun_programi natural join Q1\n" + " ",
ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = ps.executeQuery();
return rs;
} catch (Exception e) {
throw new Exception("Bağlantı başarısız!");
}
finally {
conn.close();
}
}
}
doktor的類型是什麼?它是一個字符串嗎? –
你應該查看一個JDBC教程,該教程描述瞭如何使用準備好的語句等來正確地執行此操作。一般來說,將JDBC資源(如結果集或語句)聲明爲類中的字段或在方法之間傳遞它們是不好的做法,因爲它們應該具有最小範圍(您想盡快關閉/釋放它們)。取決於你的JDBC驅動程序的實現,因爲你總是調用'conn.close();'方法結束時,結果集也可能會被關閉。而不是返回結果集,遍歷它並返回一個POJO集合。 –