我有以下代码
查询是
insert into discussions(title,description,usrid,date,uuid,rty,yu,visit) values(?,?,?,?,?,?,?,?)
Java代码
java.util.Date utilDate=new java.util.Date();
java.sql.Date date=new java.sql.Date(utilDate.getTime());
ps.setString(1,t.getTitle()); //ps is prepared statement object,
ps.setString(2,t.getDescription());
ps.setString(3,t.getUsrID());
ps.setDate(4,date);
ps.setString(5,getUniqueID(usrType));
ps.setLong(6,Long.valueOf(t.getRty())); //t.getRty() is String and parsed to set a Bigint in database
ps.setLong(7,Long.valueOf(t.getyu())); //t.getyu() is String and parsed to set a Bigint in database
ps.setLong(8,Long.valueOf(t.getVisit())); //t.geVisit() is String and parsed to set a Bigint in database
当我添加获取当前日期的代码时,如上所示' ps'声明。代码将SQLException提供为 com.microsoft.sqlserver.jdbc.SQLServerException:索引6超出范围。
我将日期作为字符串插入时工作正常。但由于排序问题,我需要日期格式的日期。 请告诉我什么不对?
答案 0 :(得分:0)
在java.util.Date
java.sql.Date
转换为setDate()
时会发生什么
String date = request.getParameter("date");//get the requested String
Date utilDate = new SimpleDateFormat("yyyy-mm-dd").parse(date);//format using java.util.Date
ps.setDate(4, new java.sql.Date(utilDate.getTime()));//insert
答案 1 :(得分:0)
查看您在MS SQL
中插入的日期格式。您似乎试图以MS SQL
期望的其他格式插入日期。
我没有太多经验使用默认日期格式MS SQL
。
检查并以该格式转换日期应该有效。