2013-10-27 16 views
1

我正在使用VB.NET將GridControl綁定到數據庫。AllowDBNull是否反映了數據庫上的真實情況?

在將數據插入gridcontrol時,我想驗證插入的內容,主要涉及空值,這可能不被允許:如果數據庫中的列不接受空值,在網格控件中爲null。

我試圖使它動態,因此我使用DataTableAllowDBNull屬性來檢查是否允許空值,但它似乎不反映數據庫中的內容。某些列不允許在數據庫中使用空值,但在VB.NET端,AllowDBNull標記爲true。

我正在使用一種解決方法,它正在運行Oracle查詢以獲取有關我感興趣的列的信息,但這是相當繁重的解決方法。

SELECT COLUMN_NAME, NULLABLE FROM ALL_TAB_COLUMNS WHERE OWNER = 'TABLEOWNER' AND TABLE_NAME = 'TABLENAME'; 

這裏是我所得到https://www.dropbox.com/s/vxzqqjhoheyqm13/2013-10-27%2016h57_50.mp4

AllowDBNull合適的物業,我應該看一個預覽?

謝謝。

+0

中的窗體的範圍,你通常知道哪些列被允許是空的,哪些不是。訪問此信息的架構是一種開銷。無論如何,AllowDBNull應該在您填充表usign _adapter.Fill時自動設置。 – NoChance

+0

我想要做的是創建一個表單來插入數據在數據庫的任何表中。所以我不知道哪一列可以是空的或不是空的。 AllowDBNull與數據庫有什麼不同? –

+0

我認爲這可能與您填充數據庫的方式有關。如果使用填充方法,應該可以,如果您使用Reader,則必須手動處理。 – NoChance

回答

相關問題