数据无法正常保存到mysql中

时间:2015-09-09 10:40:58

标签: java mysql jsp

我正在尝试在jsp netbeans中创建登录时间和注销时间web应用程序。虽然我尝试将注销时间保存到mysql数据库中,但日期和时间相同。时间保存正确但用户名和密码都保存为null。请帮我正确保存用户名和密码到表。 这是我的退出代码:

`<%@ page import ="java.sql.*" %>
`<%String url="jdbc:mysql://localhost:3306/mysql";`
   ` String user="root";`
   ` String password="";`
    `Class.forName("com.mysql.jdbc.Driver");`
    `Connection con = DriverManager.getConnection(url, user, password);`
    `Statement st = con.createStatement();`
    `String uname1= request.getParameter("first_name");`  
    `String pwd = request.getParameter("pass");`
    `session.setAttribute("fname", uname1);`
    `session.setAttribute("pass", pwd);`
    `int i = st.executeUpdate("insert into logut values ('" + uname1 + "','" + pwd + "',now())");`
    `if (i > 0) `
    `{out.write("<script type='text/javascript'>\n");`
     `out.write("alert(' Logout Successfully!!! ');\n");`
     `out.write("setTimeout(function({window.location.href='index.jsp'},1000);");`
     `out.write("</script>\n");`
    `}`
%>`

我的数据库保存如下:id = null pass = null并正确保存日期和时间。帮帮我。谢谢你提前。

1 个答案:

答案 0 :(得分:1)

你的陈述中有一个拼写错误。我想你的意思是表logout

"insert into logut values ('" + uname1 + "','" + pwd + "',now())"

但除此之外,你必须考虑准备好的陈述。

String insertTableSQL = "INSERT INTO DBUSER"
    + "(USER_ID, USERNAME, CREATED_BY, CREATED_DATE) VALUES"
    + "(?,?,?,?)";
PreparedStatement preparedStatement = dbConnection.prepareStatement(insertTableSQL);
preparedStatement.setInt(1, 11);
preparedStatement.setString(2, "username");
preparedStatement.setString(3, "password");
preparedStatement.setTimestamp(4, getCurrentTimeStamp());
// execute insert SQL statement
preparedStatement .executeUpdate();

为何准备陈述: