package trabalho;
import java.sql.*;
public class Conexao
{
public Connection conn;
public Conexao()
{
}
public String abrirConexao()
{
String conecta="Nao inicializado";
try
{
/*Class.forName("org.gjt.mm.mysql.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost/cesami","admin","");
conecta="Conexao estabelecida!";*/
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection("jdbc:odbc:cesami1");
conecta="Conexao estabelecida!";
}
catch(ClassNotFoundException e)
{
System.out.println("Classe não encontarda");
}
catch(SQLException e)
{
e.printStackTrace();
}
System.out.println(conecta);
return conecta;
}
public String fecharConexao()
{
String fecha="Nao finalizado";
try
{
conn=null;
fecha="Conexao fechada";
}
catch(Exception e)
{
fecha="Conexao nao foi fechada";
}
System.out.println(fecha);
return fecha;
}
public static void main(String args[])
{
Conexao c = new Conexao();
System.out.println(c.abrirConexao());
System.out.println(c.fecharConexao());
}
}
package trabalho;
import trabalho.Conexao;
import java.sql.*;
public class Inserir
{
Conexao conexao = new Conexao();
public Inserir()
{
}
public String inserir(String nome,String pia,String nome_mae,String nome_pai,String data_nascimento,String naturalidade,String uf_naturalidade,String endereco,String situacao_juridica,
String parecer_psicologia, String parecer_assistencia,String parecer_pedagogico,String aspectos_positivos,String aspectos_negativos,String situacao_risco,String acao_realizar,
String parecer_oficina, String parecer_odontologico,String data_atendimento,String parecer_nutricional,
String altura,String icm_atual,String altura_joelho,String peso_ideal5,String peso_atual,String peso_ideal50,String peso_final,
String peso_ideal85,String fator_lesao,String peso,String fator_atividade,String kcal,String fator_temperatura,String valor_calorico,
String gasto_basal,String vct,String gasto_total,String conclusao,String data_relatorio)
{
String situacao="Metodo nao inicializado";
try
{
conexao.abrirConexao();
Statement stmt = conexao.conn.createStatement();
String query = "INSERT INTO DEPENDENTES(nome,pia,nome_mae,nome_pai,"+
"data_nascimento, naturalidade, uf_naturalidade, endereco, situacao_juridica,"+
"parecer_psicologia, parecer_assistencia, parecer_pedagogico,aspectos_positivos,aspectos_negativos,situacao_risco,acao_realizar,"+
"parecer_oficina, parecer_odontologico, data_atendimento, parecer_nutricional,"+
"altura, icm_atual, altura_joelho, peso_ideal5, peso_atual, peso_ideal50, peso_final,"+
"peso_ideal85, fator_lesao, peso, fator_atividade, kcal, fator_temperatura, valor_calorico,"+
"gasto_basal, vct, gasto_total,conclusao, data_relatorio, ativo) VALUES ('"+nome+"','"+pia+"','"+nome_mae+"','"+nome_pai+"',"+
"'"+data_nascimento+"','"+ naturalidade+"','"+ uf_naturalidade+"','"+ endereco+"','"+ situacao_juridica+"',"+
"'"+parecer_psicologia+"','"+parecer_assistencia+"','"+parecer_pedagogico+"','"+aspectos_positivos+"','"+aspectos_negativos+"','"+situacao_risco+"','"+acao_realizar+"',"+
"'"+parecer_oficina+"','"+ parecer_odontologico+"','"+ data_atendimento+"','"+ parecer_nutricional+"',"+
"'"+altura+"','"+ icm_atual+"','"+ altura_joelho+"','"+ peso_ideal5+"','"+ peso_atual+"','"+ peso_ideal50+"', '"+peso_final+"',"+
"'"+peso_ideal85+"','"+ fator_lesao+"','"+ peso+"','"+fator_atividade+"','"+ kcal+"','"+ fator_temperatura+"','"+ valor_calorico+"',"+
"'"+gasto_basal+"','"+ vct+"','"+gasto_total+"','"+conclusao+"','"+data_relatorio+"',1)";
int result =stmt.executeUpdate(query);
if (result==1)
situacao="Dados inseridos com sucesso";
else
situacao="Os dados não foram inseridos";
conexao.fecharConexao();
}
catch(SQLException e)
{
situacao=e.getMessage();
}
return situacao;
}
}
Pessoal a dúvida é a seguinte tenho um programa com as funçoes básicas de sql alterar, inserir, excluir, selecionar todos baseados na conexão acima mas na classe inserir ele da o seguinte erro Resultset is closed, queria saber se esta forma de abrir e fechar conexao esta correta? e se alguem sabe o motivo da classe inserir algumas vezes da certo e outras da errado? na classe conexao.fecharConexao() tentei colocar conn.close(); mas desta forma dava erro em todas as classes colocando o conn=null; a classe inserir algumas vezes da erro, alguém pode me ajudar?
EDIT (Thingol) - Pus os tags [ code ] para você. Por favor, sempre que postar código, use-os para melhorar a legibilidade ( e melhorar a chance de alguém lhe ajudar )