67,549
社区成员




package cn.com.sparknet;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import javax.sql.DataSource;
public class T {
public static void main(String[] args) throws SQLException {
String sql = "";
DataSource ds = null;// 获取数据源
Connection conn = ds.getConnection();
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery(sql);
PreparedStatement pstm = conn.prepareStatement(sql);
ResultSet rs2 = pstm.executeQuery();
ResultSetMetaData metaData = pstm.getResultSet().getMetaData();// pstm.getMetaData();//rs2.getMetaData();
while (rs2.next()) {
System.out.println(rs2.getInt(1) + " " + rs2.getString(2) + " "
+ rs2.getInt(3));
}
int count = metaData.getColumnCount();
System.out.println(count);
String[] name = new String[count];
for (int i = 0; i < count; i++) {
name[i] = metaData.getColumnName(i + 1);
System.out.println(name[i]);
}
}
}
PreparedStatement pstm = conn.prepareStatement(sql);
ResultSet rs2 = pstm.executeQuery();
ResultSetMetaData metaData = pstm.getResultSet().getMetaData();//或者 rs2.getMetaData(); 或者 pstm.getMetaData();
Connection conn = ds.getConnection();
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery(sql);
ResultSetMetaData metaData = rs.getMetaData();
int count = metaData.getColumnCount();
System.out.println(count);
String[] name = new String[count];
for (int i = 0; i < count; i++) {
name[i] = metaData.getColumnName(i + 1);
System.out.println(name[i]);
}
ResultSetMetaData rsmt=rs.getMetaData();
得到结果集(rs)的结构信息,比如字段数、字段名等。
使用rs.getMetaData().getTableName(1))就可以返回表名
rs.getMetaData().getColumnCount()
取得列数
例子:
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM TABLE2");//得到查询结果,一个数据集
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount(); //得到数据集的列数
rsmd中的结构:
om.mysql.jdbc.ResultSetMetaData@132e13d - Field level information:
com.mysql.jdbc.Field@1617189[catalog=test,tableName=MyBean,originalTableName=mybean,columnName=id,originalColumnName=id,mysqlType=3(FIELD_TYPE_LONG),flags= PRIMARY_KEY, charsetIndex=63, charsetName=US-ASCII]
com.mysql.jdbc.Field@64f6cd[catalog=test,tableName=MyBean,originalTableName=mybean,columnName=name,originalColumnName=name,mysqlType=253(FIELD_TYPE_VAR_STRING),flags=, charsetIndex=8, charsetName=Cp1252]