Quiero conectar mi base de datos Oracle con la página web con JSP. Pero los datos no es el ahorro en la base de datos. si usted tiene alguna idea o el código tiene algún error, por favor comente y me muestra el camino para corregir el código siguiente. Por favor, este es el proyecto de mi último semestre.
El código es como sigue.
Gracias de antemano.

<%@page import="java.sql.*"%>
<%@page import="oracle.jdbc.driver.*;" %>
<%@page import="oracle.sql.*;" %>
<%@page import="oracle.jdbc.driver.OracleDriver;"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html>
<head>
<title>Auto Refresh Header Example</title>
</head>
<body>
<form>
<center>
<h1>Program Start</h1>
FirstName:<input type ="text" name ="firstName" id="firstName"> <br>

LastName:<input type="text" name ="lastname" id="lastname"> <br>

<input type="submit" value="Submit">
</form>
<%  
String username=request.getParameter("username");
String password =request.getParameter("username");

try {


Connection con = null;
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "hr", "hr");
Statement st = null;
PreparedStatement ps=null;
ResultSet rs =null;
String query = "insert into Test (username, username)values           ('"+username+"','"+password+"')";

ps.executeUpdate(query);

} catch(Exception ex){

} 

%>
</center>
</body>

  • dentro de instrucción catch trate de ex.printStackTrace() para ver si cualquier excepción que se produzca.
  • catch(Exception ex){ ex.printStackTrace(); }
  • No usar nunca vacía bloque catch. Imprímala, como se describe en comentarios anteriores, o rethrow como ServletException
  • muchas Gracias por la respuesta, pero me da un error como este:tipo de Excepción mensaje de informe de no puede compilar la clase para JSP:
InformationsquelleAutor Shakir Ali | 2014-06-01

4 Comentarios

  1. 0

    intente abrir el server en el modo de administración,para que se pueda conectar a la base de datos,espero que le ayuda a

  2. 1

    Dentro del bloque try que tuve que crear para la declaración de la conexión y parecía PreparedStatement no era necesario:

    Connection con = null;
    Class.forName("oracle.jdbc.driver.OracleDriver");
    con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "hr", "hr");
    Statement st = con.createStatement();
    String query = "insert into Test (username, username) values ('" + username + "','" + password + "')";
    
    ps.executeUpdate(query);
  3. 1

    obtener rápidamente una mirada de cerca a los valores que se han asignado dos parámetros incorrectos

    primera es «String password =solicitud.getParameter(«nombre de usuario»);» que no dará un error, pero los datos publicados no será que la original, por favor, cambiar el «nombre de usuario «contraseña»

    Segundo es

    String query = "insert into Test (username, username)values('"+username+"','"+password+"')";

    que será un error de tiempo de ejecución por lo tanto la base de datos se espera de un nombre de usuario y una contraseña, pero se suministra con un nombre de usuario y un nombre de usuario. último intento para nosotros esta cadena de conexión

    Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr"); with the Class.forName being Class.forName("oracle.jdbc.OracleDriver");
  4. 0
    import java.sql.*;  
    class InsertPrepared{  
    public static void main(String args[]){  
    try{  
    Class.forName("oracle.jdbc.driver.OracleDriver");  
    
    Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","oracle");  
    
    PreparedStatement stmt=con.prepareStatement("insert into Emp values(?,?)");  
    stmt.setInt(1,101);//1 specifies the first parameter in the query  
    stmt.setString(2,"Ratan");  
    
    int i=stmt.executeUpdate();  
    System.out.println(i+" records inserted");  
    
    con.close();  
    
    }catch(Exception e){ System.out.println(e);}  
    
    }  
    }  
    • puede usted por favor detalle cómo su respuesta mejora de los anteriores ? sólo el código de respuestas puede ser marcado como «de baja calidad» y elimina incluso si son técnicamente correcta

Dejar respuesta

Please enter your comment!
Please enter your name here