2010-11-05 70 views
0

我正在編寫一個小型SQL數據庫瀏覽器。需要的功能是選擇,更新,插入,從兩個通過鍵連接的表中刪除。我使用OdbcAdapter從兩個表中進行選擇,並使用綁定到DataGrid,但是當我使用兩個連接的表時,OdbcCommandBuilder不提供更新內容的可能性。 如何從任何數據庫處理任何表格時能夠實現此功能(未指定colums的數量)。已連接表上的SQL更新

是否可以針對特定字段值提出有關其可能值(可能的外鍵值)的建議。

+0

爲什麼你不能創建兩個更新語句,並把它們放在一個事務中? – Dismissile 2010-11-05 13:19:46

回答

2

可更新的視圖應該爲您提供這一點 - Oracle不支持這些。這裏是一個例子:http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/statements_8004.htm#i2126726

+0

嗯然而,這種方式,我將不得不創建視圖開始和下一次開始檢查,如果他們已經存在或刪除退出。是否有任何方法不僅適用於Oracle? – mmatloka 2010-11-05 13:13:16

+0

我懷疑是否有解決方案可以在所有情況下都能正常工作,因爲要採取的操作取決於聯接的性質 - 從概念上講,只有當聯合使用兩個表之間的一對一映射時纔有效datagrid中的行對應於每個表中的單個行,並且這些錶行不存在於任何其他datagrid行中。對於任何其他連接,更新網格中的單元格會導致其他行中的值發生更改(這對用戶來說是違反直覺的) – 2010-11-05 13:20:16

+0

例如,假設我們將Employee添加到Department,並且生成的行的employee_name和department_name在我們的數據網格。如果用戶輸入了department_name的新值,那麼預期的結果是什麼?更新部門的名稱?將員工更新爲屬於新部門(如果不存在,則創建新部門)? – 2010-11-05 13:24:05