resultsetmetadata(resultsetmetadata的应用)

http://www.itjxue.com  2023-01-26 21:49  来源:未知  点击次数: 

ResultSet怎么获取数据库中的最后一行记录的第一个字段

获得ResultSet的记录个数:

因为ResultSet没有方法可直接得到记录数,只有另想方法,可采用如下方法:

Statement stmt = db.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

ResultSet rs = stmt.executeQuery(sql);

rs.last();//移到最后一行

int count = rs.getRow();

rs.beforeFirst();//移到初始位置

如何判断数据库中某个字段不存在(用java编写)

想快,就根据数据库,直接读取结构的表,

否则,SELECT * FROM table (添加一个条件,别读回所以记录,如WHERE 1=2之类)

再通过ResultSet来判断

ResultSetMetaData getMetaData()

得到 ResultSetMetaData 再逐个field比较

ResultSetMetaData怎么获取主键

方法一:通过connection来获得

Java代码 :

private String getIdName(Connection conn,String tableName){

String idName = "";

DatabaseMetaData metaData = null;

try {

metaData = conn.getMetaData();

ResultSet rs = metaData.getColumns(conn.getCatalog(), "%", tableName, "%ID");

if(rs.next()){

idName = rs.getString("COLUMN_NAME");

}

} catch (Exception e) {

logger.error(e);

}

return idName;

}

方法二:通过结果集ResultSet获得

Java代码 :

private String getIdName(ResultSet rs){

String idName = "";

ResultSetMetaData metaData = null;

try {

metaData = rs.getMetaData();

idName = metaData.getColumnName(1);

} catch (Exception e) {

logger.error("查询表的主键名出错! ",e);

}

return idName;

}

其中rs为select * from tableName;的结果集。

resultsetmetadata rsmd = rs.getmetadata;是什么意思

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(); //得到数据集的列数

(责任编辑:IT教学网)

更多

推荐CorelDraw教程文章