String aaa = "2007-02-02";
rs = st.executeQuery(" select  adddate(" + aaa + ",1) as a"); while (rs.next()) {
System.out.println(rs.getString("a"));
}

我在java里有这么一段sql语句.我想打印adddate的结果.请问怎么写代码??
我这样写打印结果为null....郁闷

解决方案 »

  1.   

    你把sql打印出来,然后执行sql,看结果是否正确。
    先把sql调对了。
      

  2.   

    我说的详细点.语句select  adddate('2007-02-02',1)在sql工具里面运行的结果是2007-02-03;现在我希望解决的问题是我想把他的运行结果(既2007-02-03)这个值拿出来传给外部的程序.就象是查询数据库得到结果集后传给外部的java 程序做计算一样.
      

  3.   

    select  adddate('" + aaa + "',1)这样。
      

  4.   

    胖胖大概不太明白我的意思.你说的sql语句我是会写的,不会的就是如果把计算出来的结果放在结果集中,然后再通过类似rs.next()的方法把结果取出来传给外部的程序使用
      

  5.   

    给你看段代码
    Connection conn = DriverManager.getConnection(url,user,password);
    conn.setAutoCommit(false);
    CallableStatement proc = conn.prepareCall("{? = Call \"funSelectIpByCallerTime\"(?,?)}");
    proc.registerOutParameter(1,Types.OTHER);
    proc.setString(2,CallerNumber);
    proc.setString(3,StartTime);
    proc.execute();
    ResultSet rs = (ResultSet)proc.getObject(1);
    while(rs.next()){
    String ReGenrationID = rs.getString(1);
    String Ip = rs.getString(2);
    int Port = rs.getInt(3);
    System.out.println(ReGenrationID + "||" + Ip + "||" + Port);
    }
    rs.close();