Não domino bem ainda, contudo, lembro de algo interessante nestas conexões aos bancos de dados… pelo meno… não sei se é só no MySQL mas foi me dito pra sempre… após conectar à um banco eu deveria recuar um registro… pois, O Poneiro sempre está posicionado no primeiro e há casos que se faz necessário posionál-lo em “antes do primeiro registro”, Provavelmente é o seu caso… NullPointer… tente deslocar o ponteiro para início ou fim da tabela conforme a necessidade…
Espero ter ajudado de alguma forma… Abraços…
Por algum motivo o seu objeto stmt (Statement) está nulo durante a execução do método Insert. Mas não deu para perceber o porquê.
A propósito, no padrão Java, os nomes de métodos iniciam em minúsculo (padrão Camel Case Low). Exemplo: insert(), inserirRegistro(), consultarCadastro().
package banco;
import java.sql.*;
import java.util.*;
import javax.swing.*;
/**
*
* @author Tiago
*/
public class conexao {
public Statement stmt;
public ResultSet rs;
Connection connection;
//instância do objeto de conexão
public conexao() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // O sun.jdbc.odbc.JdbcOdbcDriver significa que será usado um banco access
String url = "jdbc:odbc:images";// esta string carrega o nome da fonte de dados
connection= DriverManager.getConnection(url,"","");// aqui é efetuada conexão passando?se a fonte de dados e o login e senha do banco, que neste caso não existem.
stmt = connection.createStatement();
JOptionPane.showMessageDialog(null, "COnexao com sucessso"); // é exibida uma mensagem informando que a conexão foi efetuada
}
catch ( ClassNotFoundException cnfex ) {
System.err.println("Falha ao carregar o JDBC/ODBC driver.");
System.exit(0);
}
catch (SQLException ex) {
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
}
public void shutDown()
{// este método cancela a conexão
try {
connection.close();
}
catch ( SQLException sqlex ) {
System.err.println( "Não foi possível desconectar" );
}
}
public ResultSet List(String sql)
{
try {
rs = stmt.executeQuery(sql);
return rs;
}catch (SQLException e)
{
System.out.println("Erro na consulta:" + e.getMessage());
}
return rs;
}
public String Insert(String sql)
{
try {
stmt.executeUpdate(sql);
return "Inserido com Sucesso";
}catch (SQLException e)
{
System.out.println("Erro na inserção:" + e.getMessage());
return "Falha ao inserir";
}
}
public String delete(String sql)
{
try {
stmt.executeUpdate(sql);
return "Deletado com sucesso";
}catch (SQLException e)
{
System.out.println("Erro na inserção:" + e.getMessage());
return "Falha ao deletar";
}
}
public String Update(String sql)
{
try {
stmt.executeUpdate(sql);
return "Atualização feita com sucesso";
}catch (SQLException e)
{
System.out.println("Erro na inserção:" + e.getMessage());
return "Atualizção falhou";
}
}
e fica dando esse erro aki :
org.apache.jasper.JasperException: Exception in JSP: /index.jsp:34
31: String urll = request.getParameter("urll");
32: String legenda = request.getParameter("legenda");
33:
34: String a = conecta.Insert("INSERT INTO Fotos (tx_endereço, tx_legenda) VALUES('"+ urll + "','" + legenda + "')");
35:
36: conecta.shutDown();
37:
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
java.lang.NullPointerException
banco.conexao.Insert(conexao.java:93)
org.apache.jsp.index_jsp._jspService(index_jsp.java:74)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
nao sei resolver fica dando nullpointer onde ta nulo a ponteiro q eu nao sei