Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 如何在JSP中执行更新操作_Oracle_Jsp_Sql Update - Fatal编程技术网

Oracle 如何在JSP中执行更新操作

Oracle 如何在JSP中执行更新操作,oracle,jsp,sql-update,Oracle,Jsp,Sql Update,我已经学习JSP大约一周了,并尝试在示例ContactUs表中执行更新操作。我使用oracle 10g作为后端。 下面是editmsg.jsp,它选择要更新的特定记录。我有“按名称选择”而不是ID <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <%@ page import="java.sql.*" %> <!DOCTYPE html PUBLIC

我已经学习JSP大约一周了,并尝试在示例ContactUs表中执行更新操作。我使用oracle 10g作为后端。 下面是editmsg.jsp,它选择要更新的特定记录。我有“按名称选择”而不是ID

 <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
    <%@ page import="java.sql.*" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <title>Edit page</title>
      </head>
      <body>
       <form action="asave.jsp">
     <%
         String n=request.getParameter("val");

Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","system");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from contactus where name ='"+n+"'");
while(rs.next()){
//con.close();
%>


            <table><tr> <td>Name:</td><td><input type="text" name="aname" value="<%=rs.getString("name")%>"></td></tr>

            <tr> <td>Email:</td><td><input type="text" name="aemail" value="<%=rs.getString(2)%>"></td></tr>
            <tr> <td>Phone:</td><td><input type="text" name="aphone" value="<%=rs.getString(3)%>"></td></tr>
            <tr> <td>Message:</td><td><input type="text" name="amessage" value="<%=rs.getString(4)%>"></td></tr>
            <tr><td></td><td><input type="submit" value="Submit"></td><td><input type="button" value="Cancel" onclick='javascript:window.location='Home.jsp';'></td></tr>
            </table>
            <%} %>


</form>


</body>
</html>

编辑页面
姓名:
电邮:
电话:
信息:
如果单击“提交”按钮,则应执行更新功能 asave.jsp

String aname=request.getParameter("val");
String aemail=(String)session.getAttribute("aemail");
Integer aphone=(Integer)session.getAttribute("aphone");
String amessage=(String)session.getAttribute("amessage");
System.out.print(aname);

try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","system");

PreparedStatement ps=con.prepareStatement("update contactus set email=?,phone=?,message=? where name='"+aname+"'");
ps.setString(1,aemail);
ps.setInt(2,aphone);
ps.setString(3,amessage);
ps.executeQuery();
con.close();
}catch(Exception e){e.printStackTrace();}

%>
<jsp:forward page="messages.jsp"></jsp:forward>
String aname=request.getParameter(“val”);
字符串aemail=(字符串)session.getAttribute(“aemail”);
整数aphone=(整数)session.getAttribute(“aphone”);
字符串amessage=(String)session.getAttribute(“amessage”);
系统输出打印(aname);
试一试{
类forName(“oracle.jdbc.driver.OracleDriver”);
Connection con=DriverManager.getConnection(“jdbc:oracle:thin:@localhost:1521:xe”、“system”、“system”);
PreparedStatement ps=con.prepareStatement(“更新联系人设置电子邮件=?,电话=?,消息=?其中名称='”+aname+“”);
ps.setString(1,aemail);
ps.setInt(2个,电话);
ps.setString(3,A消息);
ps.executeQuery();
con.close();
}catch(异常e){e.printStackTrace();}
%>
如果我单击“提交”,则不会获得更新的记录详细信息,而是保持不变。顺便说一句,我还尝试了executeUpdate()。它不起作用。
请帮助..

您从何处获取旧记录详细信息?我的意思是所有联系人详细信息都以表格形式显示在messages.jsp页面上。单击“更新”后,它不会在表中显示更新的记录。换句话说,记录不会在数据库中更新。您肯定必须使用executeUpdate()方法,而不是executeQuery()。为什么你们不想使用servlet,而只为了显示的目的使用jsp呢?无意冒犯,为什么你们要回答问题呢?正如我在问题中提到的,我目前正在试验jsp。这就是为什么我想知道如何做这件事。我确实使用了executeUpdate()方法,但它不起作用。按照惯例,就像Zaratutra提到的那样,jsp用于表示目的。但我也想学习如何在jsp中使用jdbc。这就是为什么。如果你们能发布解决方案,我将不胜感激。伙计们,请帮助我……我指望你们。。