LISSI14
Usuario habitual
Usuario habitual

Hola programadores
estoy realizando un libro de visitas , el formulario esta en html y me jala un JSP para grabar los datos y mostrar un mensaje que todo salio OK, el problema es que me muestra el mensaje pero NO GRABA ... les envio el codigo para que digan que estoy haciendo mal



<%@page import = "java.sql.*"%>

<HTML>
<HEAD>
<TITLE>LIBRO DE VISITA</TITLE>
</HEAD>
<BODY>
<P align=center><STRONG><U>Gracias por dejar tu comentario en nuestra pagina</U></STRONG></P>

<%
Connection cn=null;
Statement st=null;
String s ="";


try{
s="sun.jdbc.odbc.JdbcOdbcDriver";
Class.forName(s);
cn= DriverManager.getConnection("jdbc:odbc:dsnsoftweb","sa","&quotGiño;
s= "insert into lib_visita (nombre,titulo,comentario) values(" +
" ' " + request.getParameter ("txtmom&quotGiño + " ' , '" +
request.getParameter("txttit&quotGiño+ "' , '" +
request.getParameter ("txtcom&quotGiño + "'";
st=cn.createStatement();
st.execute(s);
out.println("<BR>Visita Guardada&quotGiño;

}
catch(SQLException se ){
out.println("<BR> Excep Sql: " + se.toString());
}

catch(Exception e){
out.println("Excep gral:" + e.toString());
}
%>

</body>
</html>

Avatar Image
Come y duerme en el foro
Come y duerme en el foro

El javascript es un lenguague del lado del cliente, necesitas procesar el libro de visitas en un lenguague que interprete el servidor (php , asp, shtml)

Jose_Java
Usuario habitual
Usuario habitual

Creo que tienes 3 problemas en tu código:
El primero es que cuando usas Class.forName(...) tienes que generar una nueva instancia de esta clase que estás instanciando. Sería así:
Class.forName(s).newInstance();

El segundo es que te falta un catch(), y es éste:
catch(ClassNotFoundException e)
{
new Exception(...);
}

Este catch sirve para decirnos si cuando generamos una nueva instancia de esa clase tenemos algún error. No sé como te deja tu contenedor WEB ejecutar esta pagina JSP sin este catch, tendría que darte error en tiempo de ejecución.

Y el tercer fallo que veo es que ejecutas el Statement con execute(), yo uso executeUpdate(), que es para actualizar una base de datos mediante JDBC. Para consultarla uso executeQuery()

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 12/Sep/2009, 16:33
so_fila03kSep/09
Por: User 1162316, el 22/Ene/2009, 21:22
User 1162316 GestionXls17kJan/09