在使用jdbc查詢數據庫返回的ResultSet中,含有一個對象“ResultSetMetaData”,可以通過這個對象來獲取表字段的所有信息,包括:字段名,字段類型,字段類型名稱等等,非常的不錯,這樣我們在使用查詢的時候就有了更大的自由發揮程度,我們在獲取一張表里的值時,并不需要對數據庫表有過多的了解,我們照樣可以對它進行正常的操作。
舉例如下:
package test.come.hyq.src;
import java.sql.*;
public class HyqTest {
public HyqTest() {
}
public static void main(String[] args){
String driver = "oracle.jdbc.driver.OracleDriver";
String strUrl = "jdbc:oracle:thin:@127.0.0.1:1521: HYQ";
Statement stmt = null;
ResultSet rs = null;
Connection conn = null;
PreparedStatement pstmt = null;
ResultSetMetaData rsmd = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(strUrl, "hyq", "hyq");
pstmt = conn.prepareStatement("SELECT * FROM H_TEST");
rs = pstmt.executeQuery();
rsmd = rs.getMetaData(); //獲取字段名
if(rsmd != null){
int count = rsmd.getColumnCount();
for(int i=1;i<=count;i++){
System.out.println("hyqTest======"+rsmd.getColumnName(i));
}
}
}
catch (SQLException ex2) {
ex2.printStackTrace();
}
catch (Exception ex2) {
ex2.printStackTrace();
}
finally{
rsmd = null;
try {
if(rs != null){
rs.close();
if(stmt!=null){
stmt.close();
}
if(conn!=null){
conn.close();
}
}
}
catch (SQLException ex1) {
}
}
}