在jsp中将不同的用户数据插入数据库表

时间:2014-07-08 11:22:56

标签: database jsp upload

我有问题将其他用户的数据插入数据库中的表。它只是首先插入成功。在他/她的数据中的第二个用户密钥之后,它失败了。我有这样的代码:

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<tr height=20% >
<td colspan="1" ><img src="appbanner.png" width=100% height=20%></td>
        </tr>
<title>Insert title here</title>
</head>
 <body bgcolor="#D8CEF6" height="150">
     <h1>Create Task : </h1>
    <form name="createMemo" method="post" action="memoback.jsp">
        <pre> 

        Your  Memo Number   : <input type ="text" name="number" size="30">
        Enter Memo Text     : <input type ="text" name="memotext" size="30" style="width:500px" style ="height:500px"><br>


        <input type="submit" name="Submit" value="Create Memo" />
        <input type="reset" name="Reset" value="Reset" />
        </pre>


    </form>
 </body>
</html>

在我的后端,我也使用jsp来插入我的代码:

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Create Task Page</title>
    </head>
    <body>
        <%
        String memonumber = request.getParameter("number");
        String memotext = request.getParameter("memotext");
        //String duedate = request.getParameter("date");
        String connectionURL = "jdbc:derby://localhost:1527/db";
        Connection connection = null;
        Statement statement = null;
        try{
        Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();
        connection = DriverManager.getConnection(connectionURL,"db","db");
        statement = connection.createStatement();
        String SQL = "INSERT INTO MEMO(memoid,memotext,uname) VALUES ('"+memonumber+"','"+memotext+"','"+session.getAttribute("susername")+"')";
        statement.executeUpdate(SQL);
        response.sendRedirect("Home.jsp");
        %>
        Table is created successfully.
        <%
        }
        catch(Exception ex){
        ex.printStackTrace();
        }

        %>

    </body>
</html>

在我的数据库表中,我有列memoid,memotext和uname。

1 个答案:

答案 0 :(得分:0)

我可以通过输入sql语句在数据库中插入数据,但我想让用户在系统中添加

假设用户在数据库表中拥有DML操作的权限。

尽管不鼓励在JSP中编写Java代码,但请将try catch块修改为

try{
    .....
    .....
}
catch(SQLException ex){
    System.out.println("exception "+ex.getMessage());
    ex.printStackTrace();
}
finally{
    statement.close();
    connection.close();
}

暂时评论response.sendRedirect("Home.jsp");