有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java ResultSetMetaData getTableName返回空字符串

我试图通过以下代码从ResultSetMetaData中获取TableName

        Class.forName("oracle.jdbc.driver.OracleDriver");
        String url = "jdbc:oracle:thin:@localhost:1521:orcl";
         conn = DriverManager.getConnection(url,"releaseUN", "releasepw");
        Statement stmt = conn.createStatement();
        String qry = "";
        qry = "  SELECT  *  FROM MyTable ";
        
        ResultSet rset = stmt.executeQuery(qry);
        ResultSetMetaData md = rset.getMetaData();
        int col = md.getColumnCount();
        
         for (int i = 1; i <= col; i++) {
            System.out.println("getTableName "+ md.getTableName(i));
     
         }

但它返回空字符串 我用的是ojdbc14。jar通过jdbc连接连接到Oracle数据库

实际上,我需要给定查询中每个选定列的表名


共 (1) 个答案

  1. # 1 楼答案

    ResultSetMetaData的文档显示,如果不适用,它将返回空白

    String getTableName(int column)
                        throws SQLException 
    Gets the designated column's table name.
     Parameters:column - the first column is 1, 
    the second is 2, ... 
    Returns:table name or "" if not applicable 
    Throws: SQLException - if a database access error occurs