运行报错:数据连接方面...在线等

yanggz2 2008-01-14 02:23:00
以下是原始代码,红色部份报:DatabaseMetadata cannot be resolved to a type
ResultSetMetadata cannot be resoled to a type
请大虾帮忙啊,不知何错!!!在线等

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

public class GetMetadata {

public static void showDatabaseMetadata(Connection con){
try{
DatabaseMetadata md = con.getMetaData();
System.out.println("数据库" + md.getURL() + "的元数据如下:");

//显示元数据信息
System.out.println("驱动:" + md.getDriverName());
System.out.println("驱动版本号:" + md.getDriverVersion());
System.out.println("登录用户名:" + md.getUserName());
System.out.println("数据库名:" + md.getDatabaseProductName());
System.out.println("数据库版本号:" + md.getDatabaseProductVersion());
System.out.println("支持的SQL关键字:" + md.getSQLKeywords());
System.out.println("操作数字的函数:" + md.getNumbericFunctions());
System.out.println("操作字符串的函数:" + md.getStringFunctions());
System.out.println("时间和日期函数:" + md.getTimeDateFunctions());
}catch (SQLException e){
e.printStackTrace();
}
}

public static void showTabMetadata(Connection con, String tableName){
String sql = "SELECT * FROM " + tableName ;
Statement sm = null;
try{
//首先获得表的所有数据
sm = con.createStatement();
ResultSet rs = sm.executeQuery(sql);

//行到结果集的元数据
ResultSetMetadata md = rs.getMetaData();

System.out.println("数据表" + tableName + "的元数据如下:");
//表的列数
int columnCount = md.getColumnCount();
System.out.println("column count: " + columnCount);
System.out.println();
StringBuffer sb = new StringBuffer("");
sb.append("sn\tname\t\t").append("type\t\t");
sb.append("scale\t").append("isNullable");
System.out.println(sb);
sb.delete(0,sb.length());
for (int i =1; i <= columnCount; i++){
sb.append(i).append("\t");
sb.append(md.getColumnName(i)).append("\t");
sb.append(md.getColmnTypeName(i)).append("\t");
sb.append(md.getScale(i)).append("\t");
sb.append(md.isNullable(i));
System.out.println(sb);
sb.delete(0,sb.length());
}
rs.close();

}catch (SQLException e){
e.printStackTrace();
}finally{
//关闭Statement
if (sm != null){
try{
sm.close();
}catch (SQLException e1){
e1.printStackTrace();
}
}
}

}


public static void main(String[] args) throws ClassNotFoundException,
SQLException{
// TODO Auto-generated method stub
String dbName = "orcl";
String tableName = "GZ_CARD";
String userName = "zjyc_hz";
String password = "zjyc_hz";

Connection con = null;
try{
//获取数据库连接
con = DBConnector.GetOracleConnection(null,null,null,dbName,userName,password);
//显示数据库的元信息
GetMetadata.showDatabaseMetadata(con);
//显示数据表的信息
GetMetadata.showTabMetadata(con,tableName);
}catch (ClassNotFoundException e1){
throw e1;
}catch (SQLException e2){
throw e2;
}finally {
//关闭数据库连接
if (con != null){
try{
con.close();
}catch (SQLException e1){
e1.printStackTrace();
}
}
}

}

}
...全文
39 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
niexiaoqian271 2009-08-09
  • 打赏
  • 举报
回复
import java.sql.DatabaseMetaData;

DatabaseMetadata md = con.getMetaData();

ResultSetMetaData 那个同上。。。

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧