推 callmeleo:謝謝darkk6大大,問題解決了~~ 09/04 18:41
: class A {
: public static voide main(String[] args){
: conSQL cns = new conSQL();
: cns.run("select * from employees");
: member_dialog td = new member_dialog(); //產生對話視窗
: td.layout();
: }
: }
你的 SQL Query 和儲存到 member 的部分都是寫在 run (columnName , recordSet...等)
所以 cns 這裡面有取得資料沒有問題
可是你的 JTable 建立是在 member_dialog 這個 class,雖然他繼承 conSQL
但是你這邊建立的是 兩個不同的實體
一個是 cns 有執行過 run,有資料儲存
一個是 td,沒執行過 run 當然不會有資料
td.layout() 裡面的 ResultSet rs 應該根本沒東西吧...
甚至 rs 應該是 null,呼叫 rs.next() 應該會噴 NullPointer 才對
檢查過 member_doalog 的 Constructor 沒有執行 run 的部分
父類別的conSQL也沒有,所以沒有資料是正常的。(應該有噴例外吧)
而且 td 和 cns 沒有任何形式的連結...
改的方法可以試試看:
// cns 都不要了
member_dialog td = new member_dialog(); //產生對話視窗
td.run("select * from employees");
td.layout();
不過, run 裡面已經有做過 ResultSet 的 .next() 所以可能要先把指標給
移回來,不然應該也不會有資料
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.47.160.29
※ 編輯: darkk6 來自: 114.47.180.196 (09/04 14:17)