Java 如何在sql server中获取当前日期时间?
我想将sys date传递给我的过程。 下面是我的代码片段Java 如何在sql server中获取当前日期时间?,java,sql,sql-server,jakarta-ee,struts,Java,Sql,Sql Server,Jakarta Ee,Struts,我想将sys date传递给我的过程。 下面是我的代码片段 DateFormat dateFormat = new SimpleDateFormat("mm/dd/yyyy"); Date date = new Date(); String insertquery="{ call sp_process_job (?,?,?) }"; cs = con.prepareC
DateFormat dateFormat = new SimpleDateFormat("mm/dd/yyyy");
Date date = new Date();
String insertquery="{ call sp_process_job (?,?,?) }";
cs = con.prepareCall(insertquery.toString());
cs.setString(1,id);
cs.setString(2,host);
cs.setDate(19,(java.sql.Date) date);
cs.execute();
con.commit();
我的存储过程
create procedure sp_process_job (@request_id varchar(25),@host varchar(20),@created_on varchar(25)) as
begin
set dateformat mdy
SELECT CAST(@created_on as datetime)
insert into t_job_details(request_id,host,created_on,run_date)
values(@request_id,@host,@created_on)
end
获取此错误
无法将java.util.Date转换为java.sql.Date
不能将
java.util.Date
强制转换为java.sql.Date
,因为第二个是第一个的子类
你可以做:
cs.setDate(19, new java.sql.Date(date.getTime()));
请记住,java.sql.Date
会将除月、日和年之外的所有内容置零。正如政府所说:
为了符合SQL日期的定义,必须通过将实例关联的特定时区中的小时、分钟、秒和毫秒设置为零来“规范化”由java.SQL.DATE
实例包装的毫秒值
不能将
java.util.Date
强制转换为java.sql.Date
,因为第二个是第一个的子类
你可以做:
cs.setDate(19, new java.sql.Date(date.getTime()));
请记住,java.sql.Date
会将除月、日和年之外的所有内容置零。正如政府所说:
为了符合SQL日期的定义,必须通过将实例关联的特定时区中的小时、分钟、秒和毫秒设置为零来“规范化”由java.SQL.DATE
实例包装的毫秒值
只需导入java.util.*;做了同样的事情……我在“Date-Date=new-Date();”这一行上遇到了错误,这与此没有直接关系,但请注意,在SQL Server存储过程前面加上sp_u并不被认为是一种好的做法,只需导入java.util.*;做了同样的操作…我在“Date-Date=new-Date();”这一行上遇到了错误,这与此没有直接关系,但请注意,在SQL Server存储过程前面加上sp_u并不被认为是一种好的做法,而且