我的编程作业(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 个输入值的查询,以在本例中创建一个新员工(我还想在接下来的练习中更新和删除)。
最佳答案
也许你可以试试这个。运行表单操作而不是 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");
}
记录.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;
}
关于java - JSP、HTML 和 SQL Server 连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29763817/