mysql resultset用法_ResultSetMetaData的使用:根据数据库表名获取字段名

/**

* 根据数据库表名获取字段名,返回字段名数组

*

*/

public String[] getDBColumns(String tableName) throws Exception

{

conn = this.getConn();

//字段名数组

String[] columns = new String[1];

if(conn != null)

{

stmt = conn.createStatement();

rs = stmt.executeQuery("SELECT * FROM "+tableName);

//结果集元数据

ResultSetMetaData rsMetaData = rs.getMetaData();

//字段数量

int colCount = rsMetaData.getColumnCount();

columns = new String[colCount];

//读取字段名到数组

for(int i=1; i<=colCount; i++)

columns[i-1] = rsMetaData.getColumnName(i);

//关闭连接

rs.close();

stmt.close();

conn.close();

}

return columns;

}

3

1

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2009-04-10 10:49

浏览 4168

分类:非技术

评论

2 楼

soaring

2009-04-12

谢谢你的提醒,一开始我没搞明白怎么使用DatabaseMetaData类getColumns(catalog, schemaPattern, tableNamePattern, columnNamePattern);方法的参数。现在重新实现了,代码如下:

[code='java']

/**

* 根据数据库名及表名获取字段名

* @param dbName

* @param tableName

* @return

* @throws Exception

*/

public ArrayList getDBColMetaData(String dbName, String tableName) throws Exception

{

ArrayList colList = new ArrayList();

//获取数据库元数据

DatabaseMetaData dbMetaData = new DatabaseMetaData((com.mysql.jdbc.Connection) getConn(), dbName);

rs = dbMetaData.getColumns(null, dbName, tableName, "%");

while(rs.next())

{

colList.add(rs.getString(4));

}

return colList;

}

1 楼

xinannansha

2009-04-10

建议使用DatabaseMetaData获取字段信息,该类提供很多方法获取数据库信息,包括获取表、字段、索引、主键、外键等等

DatabaseMetaData dbmd = conn.getMetaData();

ResultSet rs = dbmd.getColumns(catalog, schemaPattern, tableNamePattern, columnNamePattern);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值