Try to convert the datatype of column k from datetime to string in the SELECT statement, then use result.getString(k).

解决方案 »

  1.   

    能不能不改程序?因为它在另一个系统的真实环境中已经正常应用了。
    我想应该是sybase配置的问题,不知哪位大侠,遇到过这种问题。
      

  2.   

    String toLocaleString() 
              Deprecated. As of JDK version 1.1, replaced by DateFormat.format(Date date). 此方法在jdk 1.1之后的版本已经不在使用了,换一个方法就可以了。
      

  3.   

    也就是使用DateFormat.format(Date date) 
    来代替dateValue.toLocaleString();  估计你们用的visual Age for Java 3.5
      

  4.   

    是date类型进行string化的时候的format 不对。
    而sybase又不支持这种format. 你可以自己指定你的date的format.
    如楼上说的用 DateFormat 类。
      

  5.   

    是Date处理出错,而Sybase对date 要求很严格。
      

  6.   

    楼上的各位谢了,但是
    这个程序是,把表中的记录保存成文档,然后在bcp回数据库。
    我们试了好多方法,bcp时都会有问题,用toLocalString就好了。
    改后可能会有问题,我靠,又要让我们的QA测上一个礼拜。
    再说,为什么在另一个系统中使用没有出现这种问题?
    很是郁闷,大家能不能再想个好主意?
    帮帮忙,谢谢各位了,完整的程序是这样的:
    String colType = (String)rsmd.getColumnTypeName(k);
        if(colType.trim().equals("datetime"))
        {
        java.util.Date dateValue  = result.getDate(k);
        if(dateValue ==null) colValue ="";
        else  colValue = dateValue.toLocaleString();
        }
      

  7.   

    能不能想一下怎么改sybase的配置,改程序,风险很大,还得测试很烦