2016-02-17 26 views
0

我在java中有一個程序將執行來自文件的查詢。如何查看列是否存在? instanciate resultset對象之前?

在該文件中我有這樣的查詢:

select f1, f2, f3 from tbl1 
select f1, f2, f3 from tbl2 

這些查詢將動態的過程中來執行,但是當某些字段不存在於表中,它告訴我下面的錯誤:

​​

我想處理這些錯誤。 有沒有辦法在運行查詢之前知道表中是否存在列?

謝謝你這麼多

回答

0

你可以要求DatabaseMetaData爲您提供有關信息columns

Connection con = ... 
DatabaseMetaData md = con.getMetaData(); 
boolean tbl1_f1_exists = md.getColumns(null, null, "tbl1", "f1").next(); 
+0

這位朋友你好,謝謝你的回答...... 但如何知道名字場 ??? f1 ...我不知道名字... 有沒有辦法得到它? –

+0

@EasyTI你需要解析查詢字符串來提取字段和表名。這不是一件容易的事...... – wero

+0

在SQLEXCEPTION出現一則消息,說: 「科勒姆‘F1’沒有發現」 .. 你知道,如果有一種方式來獲得該字段的名稱?因爲如果我在這裏得到字段的名稱我想我可以解決我的問題 –

相關問題