【问题标题】:Problems with JSP, HTML and connection to SQL serverJSP、HTML 和与 SQL 服务器的连接问题
【发布时间】:2015-06-28 02:51:15
【问题描述】:

我的编程作业(一个 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 个值的查询,以在这种情况下创建一个新员工(我还想在接下来的练习中更新和删除)。

【问题讨论】:

  • 我不知道该怎么做。我有另一个按钮显示带有 select * from employees 的列表,但我没有问题,因为没有来自网站的输入。
  • 使用真实的表单,并将其提交给 servlet。以this tutorial 为例
  • 感谢您的教程。我还不太了解 servlet :(

标签: java html mysql jsp


【解决方案1】:

也许你可以试试这个。运行您的表单操作而不是 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;
}

【讨论】:

  • 感谢您的宝贵时间!我根本没有得到record.java,你的代码给我带来了很多问题,我认为这不是我需要的:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-19
  • 2017-05-06
  • 2010-10-24
  • 1970-01-01
相关资源
最近更新 更多