Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JDBC中查看表结构?_Jdbc_Ojdbc - Fatal编程技术网

如何在JDBC中查看表结构?

如何在JDBC中查看表结构?,jdbc,ojdbc,Jdbc,Ojdbc,我是JDBC新手,我怀疑如何使用JDBC程序查看表结构。给出代码示例我试过了,但它显示了我的代码是错误的 import java.sql.*; public class ram { static final String JDBC_DRIVER = "oracle.jdbc.driver.OracleDriver"; static final String DB_URL = "jdbc:oracle:thin:@192.168.1.12:1521:aftdb"; s

我是JDBC新手,我怀疑如何使用JDBC程序查看表结构。给出代码示例我试过了,但它显示了我的代码是错误的

import java.sql.*;

public class ram {

   static final String JDBC_DRIVER = "oracle.jdbc.driver.OracleDriver";  
   static final String DB_URL = "jdbc:oracle:thin:@192.168.1.12:1521:aftdb";


   static final String USER = "system";
   static final String PASS = "manager";

   public static void main(String[] args) {
   Connection conn = null;
   Statement stmt = null;
   try{

      Class.forName("oracle.jdbc.driver.OracleDriver");


      System.out.println("Connecting to database...");
      conn = DriverManager.getConnection(DB_URL,USER,PASS);


      System.out.println("Creating statement...");
      stmt = conn.createStatement();
      String sql;
      sql = "desc emp";
      ResultSet rs = stmt.executeQuery(sql);

      while(rs.next()){

         String emp= rs.getString("emp");


         System.out.println("ID: " + emp);
      }

      rs.close();
      stmt.close();
      conn.close();
   }catch(SQLException se){

      se.printStackTrace();
   }catch(Exception e){

      e.printStackTrace();
   }finally{

      try{
         if(stmt!=null)
            stmt.close();
      }catch(SQLException se2){
      }// nothing we can do
      try{
         if(conn!=null)
            conn.close();
      }catch(SQLException se){
         se.printStackTrace();
      }
   }

}
}
但它显示错误。请帮助任何人如何在jdbc程序中获取表结构,建议我

使用ResultSetMetadata

更改sql查询

sql = "desc emp";
作为

例如,来自文档的

 ResultSet rs = stmt.executeQuery("select * from emp");
 ResultSetMetaData rsmd = rs.getMetaData();
 System.out.println("No. of columns : " + rsmd.getColumnCount());
 System.out.println("Column name of 1st column : " + rsmd.getColumnName(1));
 System.out.println("Column type of 1st column : " + rsmd.getColumnTypeName(1));

本机SELECT语句的替代语句可以是DatabaseMetadata.getColumns

这是显示表数据的rite。我正在考虑如何查看表列和数据类型。这就是y写that@user2854207查看发布的文档。你能再澄清一件事吗?如果你只需要元数据,你可以删除数据以获得零行,如“…其中1=0”如何使用JDBC在我的模式中显示表名列表
 ResultSet rs = stmt.executeQuery("select * from emp");
 ResultSetMetaData rsmd = rs.getMetaData();
 System.out.println("No. of columns : " + rsmd.getColumnCount());
 System.out.println("Column name of 1st column : " + rsmd.getColumnName(1));
 System.out.println("Column type of 1st column : " + rsmd.getColumnTypeName(1));