ResultSet rs = stmt.executeQuery(sql);
 ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();  //得到字段个数
rsmd.getColumnName(int整数)(得到字段名)

解决方案 »

  1.   

    ResultSetMetaData meta=rs.getMetaData();
    int valarr[] = new int[cols+1];
    valarr[i]=meta.getColumnType(i);//得字段的类型
    tmp=meta.getColumnName(i);//得字段名
    写的不够详细。琢磨一下吧。
      

  2.   

    除了上面的方法,如果你有特殊需要,还可以到ORACLE的系统表中去取字段名称和类型。你也可以试试。
      

  3.   

    /**取出一个表的字段名,字段类型,长度*/
      public static Vector getTableData(Connection conn,Statement stmt,String tableName)
      {
        Vector v=new Vector();
        try
        {
          stmt=conn.createStatement();
          ResultSet reset=stmt.executeQuery("select * from "+tableName+" where 1=0");
          reset.next();
          ResultSetMetaData rsmd=reset.getMetaData();
          for(int i=1;i<=rsmd.getColumnCount();i++)
          {
            String[] n=new String[3];
            n[0]=rsmd.getColumnName(i);//字段名
            n[1]=String.valueOf(rsmd.getColumnType(i));//字段类型
            n[2]=String.valueOf(rsmd.getColumnDisplaySize(i));//字段长度
            v.add(i-1,n);
          }
        }
        catch(Exception e)
        {
          e.printStackTrace();
        }
        return v;
      }
      

  4.   

    Spec=rs.getString("Spec"); //材料规格
      

  5.   

    jdbc 是通用的啊! 无论读什么数据库都是一样的哦