`
midstr
  • 浏览: 32101 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java调用存储过程的传递Date参数的问题

阅读更多
建了一个存储过程
create procedure PR_YDFT_GETFT_TIME        
  
@AJLB      tinyint,            -- 案件类别           
  @AJBHLIST  varchar(1500),      -- 案件编号列表
  @KSSJ      datetime,           -- 开始时间
  @JSSJ      datetime            -- 结束时间 

as 
begin
…………
select BH, AH from K_ZS..B_ZX where(这里返回一个结果集)
end

在java代码中如下调用(时间类型为java.sql.Date),即使数据有数据,也不能正确返回结果集:
 public Object doInCallableStatement(CallableStatement cs) throws SQLException, DataAccessException {
     
//………………                                                
     cs.setDate(3new java.sql.Date(kssj.getTime()));
     cs.setDate(
4new java.sql.Date(jssj.getTime()));
     
//………………                                                                                    
}
但是将方法改为如下(时间类型为String),就可以正常返回结果集:
public Object doInCallableStatement(CallableStatement cs) throws SQLException, DataAccessException {
    
//………………
     cs.setString(3, kssj);
    cs.setString(
4, jssj);
    
//………………                                                                                      
  }


   
另外在sybase的sqladv中如下两种调用方式均可正确返回结果:
use K_RW
go
PR_YDFT_GETFT_TIME 
2, "109052298;", "2008-08-19 14:00:00", "2008-08-19 17:00:00"
use K_RW
go
declare @KSSJ datetime 
declare @JSSJ datetime 
select @KSSJ = convert(datetime,"2008-08-19 14:00:00")
select @JSSJ =  convert(datetime,"2008-08-19 17:00:00")
execute PR_YDFT_GETFT_TIME 2, "109052298;", @KSSJ ,@JSSJ
在java代码中调用只是将java.sql.Date参数类型改为String传递就能正常返回结果集,是不是因为sybase的驱动问题


问题原因找到了,是因为使用cs.setDate()给数据库传参数只会日期部分。
如果改用如下代码就可以:
cs.setTimestamp(3new java.sql.Timestamp(dKssj.getTime()));
cs.setTimestamp(
4new java.sql.Timestamp(dJssj.getTime()));
cs.setTimestamp()可以将日期和时间部分都传给数据库。
分享到:
评论

相关推荐

    java 面试题 总结

     GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收...

    疯狂JAVA讲义

    学生提问:为什么我创建Java对象时从未感觉到java.lang.Object的构造器被调用过? 150 5.7 多态 151 5.7.1 多态性 151 5.7.2 引用变量的强制类型转换 152 5.7.3 instanceof运算符 154 5.8 继承与组合 154 ...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    p1 调用缺省的构造方法(即没有参数),p2 则调用带参数的构造方法。p1、p2 分别对 应于不同的内存空间,它们的值是不同的,可以完全独立地分别对它们进行操作。虽 然 new 运算符返回对一个对象的引用,但与 C、C++中的...

    java-servlet-api.doc

    当客户端发出请求时,Servlet引擎传递给Servlet一个ServletRequest对象和一个ServletResponse对象,这两个对象作为参数传递到service()方法中。 Servlet也可以执行ServletRequest接口和ServletResponse接口。...

    微软JavaScript手册

    length 属性 (Arguments) 返回由调用者传递给函数的实际参数个数。 length 属性 (Array) 返回比数组中所定义的最高元素大 1 的整数值 。 length 属性 (Function) 返回为函数所定义的参数个数。 length 属性 ...

    jboss as 7 support jsf2.2.1 modules

    “一次流调用(A Flow Call)”:带参数调用另一个流并接收返回值 “一次流返回(A Flow Return)”:返回至调用流 节点定义了流的入口和出口。 JSF 2.2引入了如下两个新注释: @FlowScoped是一个CDI作用域,...

    阿里巴巴编码规范 基础技能认证 考题分析(考题+答案).docx

    可使用存储过程写分页逻辑,提高效率。 多选 5.根据《阿里巴巴Java开发手册》,以下功能必须进行水平权限控制校验的有:ABCD A .订单详情页面。 B .类目管理后台。 C .店铺装修后台。 D .订单付款页面。 ...

    mysql官方中文参考手册

    11.3.1. DATETIME、DATE和TIMESTAMP类型 11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4...

    MYSQL中文手册

    11.3.1. DATETIME、DATE和TIMESTAMP类型 11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型...

    MySQL 5.1参考手册中文版

    11.3.1. DATETIME、DATE和TIMESTAMP类型 11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 ...

    MySQL 5.1参考手册

    11.3.1. DATETIME、DATE和TIMESTAMP类型 11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4...

    在一小时内学会 C#(txt版本)

    函数参数 ? 数组 ? 索引器 ? 装箱与拆箱 ? 委托 ? 继承与多态 以下主题不会进行讨论: ? C++ 与 C# 的共同点 ? 诸如垃圾回收、线程、文件处理等概念 ? 数据类型转换 ? 异常处理 ? .NET 库 编程结构 和 C++ ...

    ZendFramework中文文档

    实现订制存储 3.1.4. 使用Zend_Auth 3.2. 数据库表认证 3.2.1. 简介 3.2.2. 高级使用:持久一个 DbTable 结果对象 3.2.3. 高级用法示例 3.3. 摘要式认证 3.3.1. 简介 3.3.2. 规范(Specifics) 3.3.3. ...

    Android 开发技巧

    4.1.1、图案填充问题 48 4.2、TEXTVIEW 49 4.2.1、动态滚动 49 4.3、EDITTEXT 49 4.3.1、光标选择 49 4.4、TITLEBAR 50 4.4.1、非全屏状态下不显示title标题栏 50 4.4.2、标题栏进度指示器 50 4.4.3、titleBar 高级...

    Android开发资料合集-World版!

    4.1.1、图案填充问题 48 4.2、TEXTVIEW 49 4.2.1、动态滚动 49 4.3、EDITTEXT 49 4.3.1、光标选择 49 4.4、TITLEBAR 50 4.4.1、非全屏状态下不显示title标题栏 50 4.4.2、标题栏进度指示器 50 4.4.3、titleBar 高级...

    MySQL5.1参考手册官方简体中文版

    11.3.1. DATETIME、DATE和TIMESTAMP类型 11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4...

    MySQL 5.1参考手册 (中文版)

    11.3.1. DATETIME、DATE和TIMESTAMP类型 11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4...

    MySQL 5.1中文手冊

    11.3.1. DATETIME、DATE和TIMESTAMP类型 11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4...

    freemarker总结

    5、 方法:通过传递的参数进行计算,以新对象返回结果 方法变量通常是基于给出的参数计算值在数据模型中定义。 6、 用户自定义FTL指令:宏和变换器 7、 节点 节点变量表示为树型结构中的一个节点,通常在XML...

Global site tag (gtag.js) - Google Analytics