exilado
Tem como você postar o erro que está te retornando
ryouta
não me retorna erro ! a pagina aparece certinho mais não inseri no banco
Ed.prog
Como é a estrutura da tabela? Qual a chave primária?
ryouta
create table amor(
nome varchar2(100)
);
não tem xave primaria !
não tem erro na tabela testei com uma classe java com main e inseriu os dados ! só com o jsp que não quer
exilado
tenta adicionar um con.commit();
ficando:
<%@page import="java.sql.SQLException"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="javax.swing.JOptionPane"%>
<html>
<head>
</head>
<body>
<%
String nome = "rafa";
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/exemplo";
Connection con = DriverManager.getConnection(url,"root","ryouta");
System.out.print("con: "+con);
Statement sta = con.createStatement();
sta.executeUpdate("Insert into amor (nome) Values ('"+nome+"')");
con.commit();
con.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
%>
Chegou aqui!
</body>
</html>
testa ai e fala se deu certo
evefuji
verifica se com o parâmetro “&autoCommit=true” no final da string connection não funciona.
Verifica se em “nome” não tem aspas simples, ou troca por PreparedStatement.
ryouta
exilado:
tenta adicionar um con.commit();
ficando:
<%@page import="java.sql.SQLException"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="javax.swing.JOptionPane"%>
<html>
<head>
</head>
<body>
<%
String nome = "rafa";
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/exemplo";
Connection con = DriverManager.getConnection(url,"root","ryouta");
System.out.print("con: "+con);
Statement sta = con.createStatement();
sta.executeUpdate("Insert into amor (nome) Values ('"+nome+"')");
con.commit();
con.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
%>
Chegou aqui!
</body>
</html>
testa ai e fala se deu certo
não pego
exilado
o que mostra quando você imprime o objeto con?
System.out.print("con: "+con);
ryouta
essa linha é um teste de conexão q eu fiz no metodo main q conssegui gravar no banco !
mais no jsp não mostra essa linha é dispenssavel
exilado
mas então se no método main ela imprime ela deveria imprimir no JSP tbm.
o erro está antes dessa linha então.
ryouta
ai esta !!!
pq não insere a linha ?
exilado
muda onde esta: e.printStackTrace();
para: System.out.print(e);
Ficando:
<%@page import="java.sql.SQLException"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="javax.swing.JOptionPane"%>
<html>
<head>
</head>
<body>
<%
String nome = "rafa";
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/exemplo";
Connection con = DriverManager.getConnection(url,"root","ryouta");
System.out.print("con: "+con);
Statement sta = con.createStatement();
sta.executeUpdate("Insert into amor (nome) Values ('"+nome+"')");
con.commit();
con.close();
} catch (ClassNotFoundException e) {
System.out.print(e);
//e.printStackTrace();
} catch (SQLException e) {
System.out.print(e);
//e.printStackTrace();
}
%>
Chegou aqui!
</body>
</html>
e ve se vai imprimir algum erro na pagina.
se imprimir posta o erro aqui
evefuji
um detalhe, os System.out.print e e.printStackTrace vai imprimir no log do tomcat, não na página.
se quiser imprimir na página, usa o out.print.
ryouta
ele entra nessa exerção e da isso
java.lang.ClassNotFoundException: com.mysql.jdbc.
exilado
provavelmente você não importou o driver do mysql para o projeto.
evefuji
coloca o driver do MySQL no classpath do seu projeto. Ou no classpath do tomcat (a pasta lib)
ryouta
importei sim !
foi a primeira coisa q fiz…
Agora pq ele roda em uma classe java com main e no jsp não ?
algum de vcs sabem como fazer pro jsp gravar no banco ?