首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

怎么获取数据库字段对应的表名

2012-09-11 
如何获取数据库字段对应的表名?我是这样写的:Java code// sql语句String sql select a.*, b.* from tab

如何获取数据库字段对应的表名?
我是这样写的:

Java code
// sql语句String sql = "select a.*, b.* from table1 a, table2 b";// 链接数据库Connection conn = MySqlConnection.getConnection();PreparedStatement ps = (PreparedStatement) conn        .prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE,                ResultSet.CONCUR_READ_ONLY);ResultSet rs = ps.executeQuery();// 获取数据while (rs.next()) {        for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {        // 存放数据,以“表.字段”形式        System.out.println(rs.getMetaData().getTableName(i) + "."                + rs.getMetaData().getColumnLabel(i));    }    }


结果是mysql数据库可以正常的取得表名。可是sqlserver等数据库却无法取得,不知道原因在哪里,我又应该怎么写?

[解决办法]
1.不清楚楼主为何有这样的需求,程序在编译期仍然不知道表和表结构??楼主难道没将数据表做成持久化模型?
2.第二步似乎不用做PreparedStatement的强制类型转换。
3.sqlServer和mysql在一些操作上确实有区别,比如desc table、show tables,都不能在sqlserver上使用,所以我觉得楼主想要在运行期探查数据库表结构,这种方法似乎不怎么好。
[解决办法]
探讨
1.不清楚楼主为何有这样的需求,程序在编译期仍然不知道表和表结构??楼主难道没将数据表做成持久化模型?
2.第二步似乎不用做PreparedStatement的强制类型转换。
3.sqlServer和mysql在一些操作上确实有区别,比如desc table、show tables,都不能在sqlserver上使用,所以我觉得楼主想要在运行期探查数据库表结构,这种方法似乎不怎么好。

[解决办法]
探讨
1.不清楚楼主为何有这样的需求,程序在编译期仍然不知道表和表结构??楼主难道没将数据表做成持久化模型?
2.第二步似乎不用做PreparedStatement的强制类型转换。
3.sqlServer和mysql在一些操作上确实有区别,比如desc table、show tables,都不能在sqlserver上使用,所以我觉得楼主想要在运行期探查数据库表结构,这种方法似乎不怎么好。

热点排行
Bad Request.