2012-10-28 70 views
0

我正在開發包含具有8個列的表的GUI,(A,B,C,d,E,F,G)插入多個表和填充GUI表

在數據庫我有兩個表。表1包含(A,B,C,D,E +),表2包含(E,F,G)。這裏E +是FK到Table1。

現在我想插入使用預處理語句,然後彈出GUI表。我正在寫插入查詢如下。表1中的E + FK是爲了突出表2的值。

insert into table1 (a,b,c,d,e,f,g) values (?,?,?,?,(select t2.E from t2 where t2.E=2) 

ps.setString(1,a) 
ps.setString(2,b) 
ps.setString(3,b) 
... 

通過使用上面的查詢,我無法插入到DB以及GUI表中。請讓我知道正確的查詢。

回答

0

你的問題是相當混亂:

我正在開發包含具有8個列,(A,B,C,d,E,F,G)

的表的GUI這使得7列,而不是8.

在數據庫中我有兩個表。表1包含(A,B,C,D,E +),表2包含(E,F,G)。這裏E +是FK到Table1。

爲什麼Table1中包含一個外鍵?

插入到表1(A,B,C,d,E,F,G)

你怎麼能想象這會工作,因爲表1中沒有任何一個名爲E列, f和g?


首先,將數據庫的東西從GUI的東西分成不同的類。這兩個方面不應該混合在一起。

然後瞭解SQL。如果要插入2個表中,則需要2個插入語句:一個插入到table1中,另一個插入到table2中。如果FK位於table2中,則第一個插入必須是table1中的插入,因爲table2中的FK必須引用table1中存在的行。

+0

謝謝。我很好,插入2插入語句。但如何在GUI中顯示這些值...其中有8 coulmns(A,B,C,D,E,F,G,H) –

+0

而且我想我應該使用2準備語句 –

+0

使用查詢選擇所有(假設你在table1和table2之間有一對一的關聯):'select t1.a,t1.b,t1.c,t1.d,t1.e,t2.f,t2.g從table1 t1內部連接table2 t2在t1.e = t2.e其中...' –