页面上用文本框写入日期时间
以String格式传给下一页
然后把String转为Date类型,写入SQL语句
setDate(1,GetDate.strToDate(inputdate))
运行时发生错误
Generated servlet error:
The method setDate(int,java.sql.Date) is not applicable for the arguments(int,java.util.Date)
如何解决?

解决方案 »

  1.   

    setDate()方法的参数类型不对呀
      

  2.   

    我也知道类型不对,可是怎么解决呢?
    java.sql.Date sd;
     java.util.Date ud;
     //initialize the ud such as ud = new java.util.Date();
      
     sd = new java.sql.Date(ud.getTime());
    我用这样的手段来解决,可是还是有问题
    哪位帮忙解决一下,文本框输入字符,存入SQL2000数据库中某数据表某类型为datetimeD字段????????????
      

  3.   

    The method setDate(int,java.sql.Date) is not applicable for the arguments(int,java.util.Date)
    很明显,楼主用的方法是参数的类型不对,一个是SQL包里面的Date,一个Util包里的Date,想办法用SQL包里的Date吧
      

  4.   

    建议使用setString()的方式,针对oracle库需要对insert语句的?处改为to_date(?,'yyyy-mm-dd HH24:MM:ss'),其余的可以直接使用setString.
      

  5.   

    你提出的问题的错误,是因为你在构造你的日期Class的时候,应该使用SQL的那个DATE,不是UTIL里面的那个DATE.setDate(1,new java.sql.Date("2005-02-10"))
    这样的例子是可以成功的.
      

  6.   

    关注一下。
    楼主,把文本框输入的字符串用java.sql.Date的
    static Date valueOf(String s) 
    方法试试看,转化完再
    setDate(1,GetDate.strToDate(inputdate));
    可不可以都说一声,我最近也遇到这个问题,只是还没有时间去试试看。
    另外,请教各位
    java.sql.Date和java.util.Date这两个类有什么本质区别啊?(里面的属性和方法不一样外,应用上有什么不同)
      

  7.   

    看看这个方法我想Timestamp 比date应该好一点:
    public Timestamp stringToTimestamp(String bYmd) throws Exception {
    Timestamp t = null;
    try {
    if (bYmd == null || bYmd.trim().length() == 0) {
    return t;
    } else {
    if (bYmd.length() == 10)
    bYmd = bYmd + "00:00:00";
    else if (bYmd.length() == 8) {
    bYmd =
    bYmd.substring(0, 4)
    + "-"
    + bYmd.substring(4, 6)
    + "-"
    + bYmd.substring(6)
    + "00:00:00";
    }
    bYmd = bYmd.replace('/', '-');
    SimpleDateFormat sdf =
    new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date d = sdf.parse(bYmd);
    t = Timestamp.valueOf(sdf.format(d));
    }
    } catch (Exception e) {
    throw e;
    }
    return t;
    }
      

  8.   

    setDate(1,new java.sql.Date("2005-02-10"))不行,
    错误:The constructor Date(String) is undefinedto  HouJinkun2005(岱瀛):
    你这个方法似乎也不行,static Date valueOf(String s) 该怎么用呢?to  bixuehui(边疆)
    你的方法太长了,我慢慢消化我的解决手段是把字符串,比如:2005,以'2005'的形式,插入SQL2000数据库
    没有用set。。(1,。。)
    而是用
    string date = "2005";
    string sql = "insert into tablename ( DateAndTime ) values ('"+date+"')";
    dbconnect.prepareStatement(sql);
    dbconnect.executeUpdate();
    dbc.close();这样的笨办法,问题是解决了。
    希望大家继续讨论,我先不结贴了。