我的编程作业,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个输入值的查询,以便在这种情况下创建一个新员工(我也想在即将到来的练习中更新和删除)。
答案 0 :(得分:0)
也许你可以试试这个。运行您的表单操作而不是onclick。下面是插入和更新记录到sql的示例,希望它有帮助:)
<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>
<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");
}
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;
}