关于JDBC使用命名参数(named parameters)进行存储过程调用的问题

使用命名参数(named parameters)进行存储过程调用, 会使代码更具可读性,参数的设置也更灵活。

JDBC 通过 DatabaseMetaData.supportsNamedParameters() 方法来确认驱动程序和 RDMS 是否支持命名参数。

如果支持,那么我们在代码里就可以用

CallableStatement.setInt(String, int) 方法来代替 CallableStatement.setInt(int, int)方法 来设置存储过程参数,CallableStatement.setInt(String, int)方法用的就是我们所说的命名参数。

 

注:sql2000 不支持命名参数的调用, sql2005 支持。

 

另:

  如果存储过程要新加参数,为了提高系统的兼容性,强烈建议新加的存储过程参数放在原有参数的后面,并且提供默认值。否则,以前的程序可能会运行不正常。

 

参阅:

http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.sqlserver.jdbcdriver&tid=f9379639-9e92-4068-8eee-31525d4e5d5c&cat=en_US_cdfbaf16-3704-4bd0-8e0f-21a2b079e161&lang=en&cr=US&sloc=&p=1

http://zhang-yingjie-qq-com.javaeye.com/blog/327422

 

posted @ 2010-01-14 10:49  finema  阅读(915)  评论(0编辑  收藏  举报