求, 关于调用ORACLE存储过程

sunlarry 2004-09-27 06:10:05
存储过程如果有DATE类型参数, 我怎么调用都报错! 求大虾指点!!

代码如下:
try {
conn = conncect.getConnection();
stmt=conn.prepareCall("{?=call testdate(?)}");
stmt.registerOutParameter(1, java.sql.Types.INTEGER);
stmt.setDate(2,new java.sql.Date());
stmt.executeUpdate();

tt = stmt.getInt(1);
out.print(tt);

}
catch(SQLException e)
{
e.printStackTrace();
throw e;
}

报错如下:
C:\bea\user_projects\mydomain\myserver\.wlnotdelete\DefaultWebApp_DefaultWebApp_140013\jsp_servlet\_test\__test.java:143: cannot resolve symbol
symbol : constructor Date (java.util.Date)
location: class java.sql.Date
stmt.setDate(2,new java.sql.Date());//[ /test/test.jsp; Line: 49]
...全文
149 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sjtsh 2004-09-28
  • 打赏
  • 举报
回复
同意haroyy得看法
shaopin 2004-09-28
  • 打赏
  • 举报
回复
1、如果你的参数由jsp页面传过来的,一般都是字符串,要判断一下是否为空,可以这么写(假设这个日期变量为pDate):
pDate!=null?pstmt.setDate(2,java.sql.Date.valueOf(pDate)):pstmt.setDate(2,null);

2、如果是当前日期,就不要这个参数了,直接在存储过程中处理,取sysdate就可以了
chendzcs 2004-09-28
  • 打赏
  • 举报
回复
你的时间也可以取服务器的时间哦(select sysdate into YourDateVar from dual)
zhonghua2003 2004-09-28
  • 打赏
  • 举报
回复
stmt.setDate(2,new java.sql.Date(new java.util.Date().getTime()));
zhonghua2003 2004-09-28
  • 打赏
  • 举报
回复
为了文静,努力工作!!帮你顶!!
mbl 2004-09-28
  • 打赏
  • 举报
回复
up
XIHSHI 2004-09-28
  • 打赏
  • 举报
回复

DING
haroyy 2004-09-27
  • 打赏
  • 举报
回复
java.sql.Date的构造函数一定要带参数:
Constructor Summary
Date(int year, int month, int day)
Deprecated. instead use the constructor Date(long date)
Date(long date)
Constructs a Date object using the given milliseconds time value.

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧