如何使用 JDBC 将用户在 jsp 输入类型“时间”中输入的值插入 MYSQL 数据库
Posted
技术标签:
【中文标题】如何使用 JDBC 将用户在 jsp 输入类型“时间”中输入的值插入 MYSQL 数据库【英文标题】:How to insert the user entered value in jsp input type "time" to MYSQL database using JDBC 【发布时间】:2019-03-08 20:41:54 【问题描述】:我在 JSP 中创建了一个投诉注册表,其中有一个“时间”类型的输入字段,时间也不应该总是当前时间,因此我不能使用 SQL 的 CURRENTTIME() 方法。
现在,在将其分配给数据库时,我收到 HTTP 状态 500 – 内部服务器错误为“检查与您的 mysql 服务器版本相对应的手册,以获取在 '.'20:20:00' 附近使用的正确语法)”在第 1 行"。
这里我使用了“setString()”方法。 我已经尝试过 setTime() 但这在这里也不起作用,而 setString() 正在为日期值工作并且日期被正确插入到数据库中。*/
这是我在“PCS”数据库的“测试”表中插入时间的jsp代码。
<%@ page import="java.sql.*" %>
String time=request.getParameter("time");
String url="jdbc:mysql://localhost:3306/pcs";
String uname="root";
String passw="publiccomplaint";
String query="insert into test values(?)";
Class.forName("com.mysql.jdbc.Driver");
Connection
con=DriverManager.getConnection(url,uname,passw);
PreparedStatement st=con.prepareStatement(query);
st.setString(1,time);
int count=st.executeUpdate();
st.close();
con.close();
从表单的 input type="time" 字段将时间插入 MYSQL DB 的正确方法是什么?
【问题讨论】:
【参考方案1】:你可以这样试试
String time = "15:30:18";
DateFormat sdf = new SimpleDateFormat("hh:mm:ss");
Date date = sdf.parse(time);
System.out.println("Time: " + sdf.format(date));
【讨论】:
使用new Date(String)
解析日期已被弃用,因为大约 15 年左右......
@ArockiaRaj 但是日期插入工作正常,我遇到了从 JSP 表单到 MySQL DB 插入时间的问题,顺便说一句,感谢您的帮助。
您能提供您的架构和示例输入吗? @Niraj Wagh【参考方案2】:
您应该将存储在字符串变量中的日期转换为java.util.date
,然后再转换为java.sql.date
String startDate="01-Feb-2013"; // Input String
SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy"); // New Pattern
java.util.Date date = sdf1.parse(startDate); // Returns a Date format object with the pattern
java.sql.Date sqlStartDate = new java.sql.Date(date.getTime());
System.out.println(sqlStartDate); // Outputs : 2013-02-01
然后
preparedStatement.setDate(1,sqlStartDate);
【讨论】:
【参考方案3】:您应该将时间字符串转换为java.time.LocalTime
并使用setObject
将其作为参数传递:
String time = "20:20:00"; // sample data
st.setObject(1, java.time.LocalTime.parse(time));
【讨论】:
以上是关于如何使用 JDBC 将用户在 jsp 输入类型“时间”中输入的值插入 MYSQL 数据库的主要内容,如果未能解决你的问题,请参考以下文章