gpt4 book ai didi

java - 将选择的日期而不是当前日期获取到 JDBC

转载 作者:行者123 更新时间:2023-12-02 03:43:09 25 4
gpt4 key购买 nike

我的问题是从 JSP 到数据库中输入的日期是今天的日期,而不是用户选择的日期。

JSP 文件:

<td><input type="date" name="availableDate" /></td>

Servlet:

String[] presentationID = request.getParameterValues("selectavailability");
String[] availableDay = request.getParameterValues("availableDay");
String[] availableStart = request.getParameterValues("availableStart");
String[] availableEnd = request.getParameterValues("availableEnd");
String[] availableDate = request.getParameterValues("availableDate");

SimpleDateFormat availDate = new SimpleDateFormat("yyyy-MM-dd");

try
{

for (int i = 0; i < availableDay.length; i++)
{

AvailabilityBean available = new AvailabilityBean();

available.setLecturerID(request.getParameter("lecturerID"));
available.setAvailableDay(availableDay[i]);
available.setAvailableStart(availableStart[i]);
available.setAvailableEnd(availableEnd[i]);

Date chosenDate = availDate.parse(availableDate[i]);
available.setAvailableDate(chosenDate);
available = AddAvailableDAO.addavailable(available);
}
}

DAO:

 String lecturerID = Abean.getLecturerID();
String availableDay = Abean.getAvailableDay();
String availableStart = Abean.getAvailableStart();
String availableEnd = Abean.getAvailableEnd();
// Date availableDate = Abean.getAvailableDate();
String presentationID = Abean.getPresentationID();

try{


currentCon = JavaConnectionDB.getConnection();

Date availableDate = Abean.getAvailableDate();
// java.util.Date date = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(availableDate.getTime()); //I THINK SOMETHING IS WRONG HERE

PreparedStatement ps=currentCon.prepareStatement("insert into availability (availableID,lecturerID,availableDay,availableStart,availableEnd,availableDate,presentationid) values (availabilityseq.nextval,?,?,?,?,?,?)");
ps.setString(1,Abean.getLecturerID());
ps.setString(2,Abean.getAvailableDay());
ps.setString(3,Abean.getAvailableStart());
ps.setString(4,Abean.getAvailableEnd());
ps.setDate(5,sqlDate);
ps.setString(6,Abean.getPresentationID());
ps.executeUpdate();

}

bean :

    private String availableID;
private String lecturerID;
private String availableDay;
private String availableStart;
private String availableEnd;
private Date availableDate;
private String presentationID;

如何解决这个问题?

编辑:我添加了 servlet 的某些部分,其中包括解析 availableDate 和 DAO

的值

最佳答案

此处您仅创建当前日期对象,并且没有设置用户选择的日期值。

java.util.Date date = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(date.getTime());

尝试以下代码:

//1. assuming Abean returning date in string value.
String availableDate = Abean.getAvailableDate();

// parsing the availableDate to string to date object.
DateFormat df = new SimpleDateFormat("MM/dd/yyyy"); // you can use your own date format here instead of 'MM/dd/yyyy'
Date choosenDate = df.parse(availableDate);

// coverting java date object to java.sql date object.
java.sql.Date sqlDate = new java.sql.Date(choosenDate.getTime());

编辑: 如果 availableDate 是日期对象,那么您可以直接使用以下内容:

Date availableDate = Abean.getAvailableDate();
java.sql.Date sqlDate = new java.sql.Date(availableDate.getTime());

现在您将在 sqlDate 变量中让用户选择日期。

关于java - 将选择的日期而不是当前日期获取到 JDBC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36615338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com