2 回答

TA贡献1825条经验 获得超6个赞
您的是类型,而准备声明的方法需要类型。所以把你的java.util.Date selectedDatejava.util.DatesetDate(int, java.sql.Date)java.sql.Datejava.util.Datejava.sql.Date
您可以添加以下行:
java.util.Date selectedDate = new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("deliveryDate"));
java.util.Date selectedTime = new SimpleDateFormat("hh:mm:ss").parse(request.getParameter("deliveryTime"));
// Add the lines below
java.sql.Date selectedSQLDate = new java.sql.Date(selectedDate.getTime());
java.sql.Time selectedSQLTime = new java.sql.Time(selectedTime.getTime());
因此,您的代码将是:
// Other codes
try {
String[] quantity = request.getParameterValues("Quantity_field");
java.util.Date selectedDate = new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("deliveryDate"));
java.util.Date selectedTime = new SimpleDateFormat("hh:mm:ss").parse(request.getParameter("deliveryTime"));
// Add the lines below
java.sql.Date selectedSQLDate = new java.sql.Date(selectedDate.getTime());
java.sql.Time selectedSQLTime = new java.sql.Time(selectedTime.getTime());
con = DBConnection.createConnection();
statement = con.createStatement();
String query = " insert query VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
PreparedStatement ps = con.prepareStatement(query);
for (int i = 0; i < quantity.length; i++) {
if (Double.parseDouble(quantity[i]) != 0) {
if(recorderNo!=0)
{
ps.setInt(1, recorderNo);
}
else
{
ps.setInt(1, 1);
}
ps.setDate(2, dateSql);
ps.setString(3, 77);
ps.setDouble(4, 55);
ps.setInt(5, 0);
ps.setInt(6, 0);
ps.setDouble(7, Double.parseDouble(quantity[i]));
ps.setInt(8, 0);
ps.setInt(9, 0);
ps.setInt(10, 0);
ps.setString(11, outlet);
ps.setTimestamp(12, timestamp);
ps.setDate(13,selectedDate); // here i am trying to put date
ps.setTime(14,selectedTime);// and here time
ps.addBatch();
}
}
ps.executeBatch();
// Other codes
} catch (Exception e){
// TODO Auto-generated catch block
}
但是我建议你使用类而不是旧版和JDBC 4.2或更高版本。有关详细信息,请参阅此处。java.timejava.util.Datejava.sql.Date
添加回答
举报