Types.TIME:92
Types.DATE:91MyReturn:93..//ft

解决方案 »

  1.   

    要100分,  ----关键在于getScale(i))方法!  Date的类型你搞错啦,看看下面的代码 ResultSetMetaData rmd=rs.getMetaData() ; 
     String columnType=getDataType(rmd.getColumnType(i),rmd.getScale(i));
       //get string datatype from int datatype
       private static String getDataType(int type,int scale){
            String dataType="";        switch(type){
                case Types.LONGVARCHAR: //-1
                    dataType="Long";
                    break;
                case Types.CHAR:    //1
                    dataType="Character";
                    break;
                case Types.NUMERIC: //2
                    switch(scale){
                        case 0:
                            dataType="Number";
                            break;
                        case -127:
                            dataType="Float";
                            break;
                        default:
                            dataType="Number";
                    }
                    break;
                case Types.VARCHAR:  //12
                    dataType="String";
                    break;
                case Types.DATE:  //91
                    dataType="Date";
                    break;
                case Types.TIMESTAMP: //93
                    dataType="Date";
                    break;
                case Types.BLOB :
                    dataType="Blob";
                    break;
                default:
                    dataType="String";
            }
            return dataType;
       }
      

  2.   

    的确,我的错,呵呵/TIMESTAMP才是DATETIME,
    oracle 里面没有单独的Date类型