如何将java.sql.date从java类传递到sqlserver存储过程
我想借助存储过程将java类中的java.sql.date参数传递给sqlserver datetime参数。但它不起作用。 从java调用存储过程:-如何将java.sql.date从java类传递到sqlserver存储过程,java,sql-server-2008,Java,Sql Server 2008,我想借助存储过程将java类中的java.sql.date参数传递给sqlserver datetime参数。但它不起作用。 从java调用存储过程:- java.util.Date d1= new SimpleDateFormat("yyyy-MM-dd").parse(obj.getDoj()); //obj,getDoj is String. java.util.Date d2= new SimpleDateFormat("yyyy-MM-dd").parse(obj.getDob());
java.util.Date d1= new SimpleDateFormat("yyyy-MM-dd").parse(obj.getDoj());
//obj,getDoj is String.
java.util.Date d2= new SimpleDateFormat("yyyy-MM-dd").parse(obj.getDob());
CallableStatement cs=con.prepareCall("execute insert_manager ?,?,?,?,?,?");
cs.setString(1,obj.getName());
cs.setString(2, obj.getPassword());
doj=new java.sql.Date(d1.getTime());
dob=new java.sql.Date(d2.getTime());
cs.setDate(3,doj);
cs.setDate(4, dob);
cs.setInt(5, obj.getSalary());
cs.setString(6, obj.getLocation());
boolean b = cs.execute();
存储过程:=
create procedure insert_manager @username varchar(20),@password varchar(20),
@doj dateTime,@dob dateTime,@salary int,@location varchar(20)as
begin...........
当我使用try/catch时,我发现错误出现在cs.execute行。错误是: 传入的表格数据流(TDS)远程过程调用(RPC)协议流不正确。参数6(“”):提供的值不是数据类型datetime的有效实例。检查源数据是否存在无效值。无效值的一个示例是刻度大于精度的数字类型的数据
请任何人帮我解决这个问题…错误在--cs.setDate(3,doj)和cs.setDate(4.dob)
它不工作
是不够的,请详细描述您遇到的问题。好的。当我使用try-catch时,我发现错误出现在cs.execute行。错误为:“传入的表格数据流(TDS)远程过程调用(RPC)协议流不正确。参数6(“”):提供的值不是数据类型datetime的有效实例。请检查源数据中是否存在无效值。无效值的一个示例是标度大于精度的数字类型的数据。”我将表列和过程变量的数据类型从dateTime更改为dateTime,但它给了我相同的错误。请任何人帮助我…错误在--cs.setDate(3,doj)和cs.setDate(4.dob)中,它不起作用
是不够的,请详细描述您遇到的问题。好的。当我使用try-catch时,我发现错误出现在cs.execute行。错误为:“传入的表格数据流(TDS)远程过程调用(RPC)协议流不正确。参数6(“”):提供的值不是数据类型datetime的有效实例。请检查源数据中是否存在无效值。无效值的一个示例是标度大于精度的数字类型的数据。”我将表列和过程变量的数据类型从dateTime改为date,但它给了我相同的错误。