import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import ConnectionPool.SqlHelperCP;
public class ResultSetMetaDataDemo {
/*
* ResultSetMetaData 用来描述查询结果集的相关信息,列数量,列的数据类型,列名称等
*/
public static void main(String[] args){
// TODO Auto-generated method stub
Connection conn = null;
try {
conn = SqlHelperCP.getConnection();
conn.setAutoCommit(false); // 取消自动提交
String sql = "SELECT * FROM jdbc_table_2";
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(sql);
while(rs.next()) {
System.out.println("id:" + rs.getInt("id") + " name:" + rs.getString("name"));
}
ResultSetMetaData rsmd = rs.getMetaData();
int n = rsmd.getColumnCount(); // 得到列数
String name1 = rsmd.getColumnName(1); // 得到第一列列名
String name2 = rsmd.getColumnName(2);
System.out.println(n + ", " + name1 + ", " + name2);
for(int i = 1; i <= rsmd.getColumnCount(); i++) {
System.out.println(rsmd.getColumnName(i));
System.out.println(rsmd.getColumnType(i));
System.out.println(rsmd.getColumnTypeName(i));
}
rs.close();
st.close();
}catch(Exception e) {
try {
conn.rollback();
}catch(Exception e1) {
e1.printStackTrace();
}
e.printStackTrace();
}finally {
SqlHelperCP.close(conn);
}
}
}