2016-02-17 24 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’没有发现” .. 你知道,如果有一种方式来获得该字段的名称?因为如果我在这里得到字段的名称我想我可以解决我的问题 –

相关问题