如何在JDBC中支持存储过程的Default参数?
在SQL Server中定义存储过程
create procedure p_default(@var1 varchar = 'default', @var1 int)
as
begin
......
end
在Java中的调用:
String sql = "{call p_default(?,?)}";
CallableStatement statement = conn.prepareCall(sql);
statement.setString(1, "argument 1");
statement.setInt(2, 100);
....
上面的代码是可以运行的
如果我想去掉第一个参数, 而使用default参数的话该如何处理???
问题点数:0、回复次数:7Top
1 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-04-01 16:58:04 得分 0
statement.setString(1, "argument 1");
statement.setInt(2, 100);
--------
这个问题怎么在非技术区?
statement.setString(1, null);
tryTop
2 楼hugao(糊搞)回复于 2005-04-01 17:02:55 得分 0
已经试过了, 不行.
如果@var2是Default参数, 那么用setInt(2, null)吗? 保证根本通不过.Top
3 楼hugao(糊搞)回复于 2005-04-01 17:03:55 得分 0
不发这, 发哪???Top
4 楼llp1217(风少)回复于 2005-04-01 17:12:46 得分 0
jFresH_MaN(TM) 说得 不可以吗?Top
5 楼hugao(糊搞)回复于 2005-04-01 17:16:26 得分 0
llp1217(风少)
要是jFresH_MaN(TM)说对了我一分钟内就结贴了Top
6 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-04-01 17:21:26 得分 0
呵呵,我也是让你try一下嘛
我是这么推理的
如果数据字段有default,我们不就是直接输null?呵呵Top
7 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-04-01 17:26:02 得分 0
那么你试一下setNull(1,java.sql.Types.NULL);Top




