JSP,HTML和SQL服务器连接问题

时间:2015-04-21 05:39:54

标签: java html mysql jsp

我的编程作业,JSP项目出了问题。

我有2个文本字段/输入和一个按钮。单击该按钮时,我想向我的SQL数据库发送一个查询,该查询将输入中输入的值插入到我的查询中,但我不知道如何连接它。

这里有一些代码:

<table>
            <tr>
                <td>Employee name:</td><td><input id="emp_name" required="" type="text"></td>
            </tr>
            <tr>
                <td>Employee phone:</td><td><input id="phone" required="" type="text"></td>
            </tr>
            <tr>
            <button onclick="sqlQuery()">Add new employee</button>                
            </tr>
        </table>
        <script>
            function sqlQuery {
            <%
                sql = "INSERT INTO `employees` (`employee_name`,`phone`) VALUES ('" + document.getElementById("emp_name") + "','" + document.getElementByID("phone") + ")";
                try {
                s = con.createStatement();
                rs = s.executeQuery(sql);
            }
        </script>

所以基本上,当点击按钮时,我想发送带有2个输入值的查询,以便在这种情况下创建一个新员工(我也想在即将到来的练习中更新和删除)。

1 个答案:

答案 0 :(得分:0)

也许你可以试试这个。运行您的表单操作而不是onclick。下面是插入和更新记录到sql的示例,希望它有帮助:)

A.jsp

    <html>
    <head></head>
    <body>
    <FORM  ACTION="B.JSP" METHOD="POST"> //edited part
            Please enter your name:
            <INPUT TYPE="TEXT" NAME="text1">
            <BR>
            <INPUT TYPE="TEXT" NAME="text2">
            <BR>
            <INPUT TYPE="SUBMIT" value="Submit">
        </FORM>

    </body>
    </html>

B.jsp

    <jsp:useBean id="record" scope="page" class="com.home.home.record" />

    String FIRSTNAME = request.getParameter("text1");
    String LASTNAME  = request.getParameter("text2");
    int iRowAffected = 0;

    iRowAffected = record.insert_data(FIRSTNAME, LASTNAME);
    if(iRowAffected == 0) 
    {
           throw new NullPointerException("insert_data");
    }

record.java

public int insert_data(String FIRSTNAME, String LASTNAME) throws Exception  
{

   String myQuery = "SELECT * FROM TB_RECORD WHERE FIRSTNAME='"+FIRSTNAME+"' AND LASTNAME='"+LASTNAME+"'";
   stmt = myConn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
   ResultSet resultSet = stmt.executeQuery(myQuery);

    if(resultSet.next())
    {       
           //UPDATE PART
    }else{
            String myQuery = "INSERT INTO TB_RECORD (FIRSTNAME,LASTNAME) VALUES (?,?)";
            pstmt = new PreparedStatementLogable(myConn,myQuery);
            pstmt.setString(1, FIRSTNAME);
            pstmt.setString(2, LASTNAME);
            RowsAffected = pstmt.executeUpdate();
            insertSQLLog("SQL",pstmt.toString(),"","","","");
            pstmt.close();
    }
    return RowsAffected;
}