2011-03-28 18 views
0

我正在爲我的CRUD java web數據庫應用程序創建代碼生成器。在創建Form頁面時,我希望能夠將ENUM字段數據類型顯示在組合框中。因此,擁有這在MySQL腳本中定義:我們如何使用JDBC檢測ENUM字段的內容?

`Employment Status` enum('CPNS','PNS') COLLATE latin1_general_ci NOT NULL, 

我想打一個Employment Status作爲組合框(使用<SELEC/> HTML輸入型)CPNSPNS作爲其內容。

如何從數據庫中使用JDBC來枚舉該字段的內容? 非常感謝!

PS:我的一些問題,爲什麼我想創建自己的代碼生成器?嗯,我認爲這將是非常有趣的創造這樣,並將其添加到在的Java Web宇宙中我們廣泛的選擇替代的.. :)

回答

1
 
DatabaseMetaData meta = conn.getMetaData(); 
rsColumns = meta.getColumns(null, "%", "", "%"); 
/*getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern)*/ 

while (rsColumns.next()) 
{ 
     String columnType = rsColumns.getString("TYPE_NAME"); 
     String columnName = rsColumns.getString("COLUMN_NAME"); 
} 

,我認爲這可以幫助你。

+0

不錯!我已經使用meta.getPrimaryKeys(),並能夠獲得它的所有主鍵。我會嘗試,並在這裏報告。順便說一句,這是我的Java Web框架:http://code.google.com/p/recite18th。這可能不是最好的解決方案,但我在製作過程中學到了很多東西! :)謝謝 – swdev 2011-03-28 03:59:48

+0

對不起,我只是有時間繼續這個項目。現在,你的答案似乎不是我所期望的。我在這裏回答了我自己的問題。謝謝 – swdev 2011-07-25 05:33:46

1

我剛剛拿到這個鏈接:Re: JDBC and ENUM field types,我已經在使用show columns from table_x where field='employment status'進行測試。它顯示枚舉內容。但我仍然必須解析它...

+0

目前,我會接受我自己的答案,如果你能展示更好的方式,我會接受你的:)謝謝 – swdev 2011-07-25 05:36:43

+0

我將使用這段代碼:'http://stackoverflow.com/questions/2350052/how-我已經測試過了:SELECT SUBSTRING(COLUMN_TYPE,6,length(SUBSTRING(COLUMN_TYPE,6)) - 1)as enum_content FROM information_schema .COLUMNS WHERE TABLE_NAME ='pegawai' AND COLUMN_NAME ='golongan_darah'' – swdev 2011-07-25 05:46:28