`
soaring
  • 浏览: 17437 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ResultSetMetaData的使用:根据数据库表名获取字段名

    博客分类:
  • JAVA
阅读更多

	/**
	 * 根据数据库表名获取字段名,返回字段名数组
	 *
	 */
	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
分享到:
评论
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<String> colList = new ArrayList<String>();
//获取数据库元数据
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);

相关推荐

    java如何获得数据库表中各字段的字段名

    接着,利用`ResultSetMetaData`获取每个字段的信息,特别是字段名。这些信息对于构建动态的数据处理逻辑非常有用,例如动态生成报表或界面显示等场景。 此外,这种方法还能够帮助开发者更好地理解和适配不同数据库...

    java提取数据库表字段信息的工具类.docx

    * 获取表的所有字段名 * @param tableName 表名 * @param splitChar 字段之间分隔符 * @return 字段名的字符串 * @throws SQLException SQL异常 */ public String getColumnNames(String tableName, String ...

    JDBC学习文档

    2. **获取元数据**:使用ResultSetMetaData对象获取列信息,如列名、类型等。 3. **获取字段值**:通过`getString()`, `getInt()`, `getObject()`等方法获取字段值,可以自动或手动装箱。 **ResultSetMetaData对象...

    关于操作反射的部分代码

    ` 通过`getField()`方法获取类中的公共字段,这里获取的是名为`AA_name`的字段。然后`field.set(obj, "www");`用来设置这个字段的值。 3. 调用方法: `Method method1=c.getMethod("setPwd", new Class[]{String....

    java类实现导出各种数据库insert语句.pdf

    5. 遍历和处理结果集:`while(rs.next())` 循环遍历结果集,`rs.getString()` 和 `rs.getInt()` 等方法用于获取每行数据的特定字段。 6. 动态构建INSERT语句:在 `createSQL()` 方法中,通过循环遍历表名数组,动态...

    java程序读取表的字段及类型实例

    2. **执行SQL语句**:使用`Statement`对象执行SQL查询。 3. **获取元数据**:通过`ResultSetMetaData`对象来获取查询结果集的元数据,包括列名和列类型。 4. **封装结果**:将获取到的列名和列类型存储到一个`Map`中...

    大学生信息管理

    //数据库名 String dbName="db";//表名String tableName="dbtest";//联结字符串 String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd; Class.forName("com.mysql.jdbc.Driver")...

Global site tag (gtag.js) - Google Analytics