Me ajudem por favor

6 respostas
IsaelCoelho

gente estou com um problema aki construi um programa para inserir registros em uma tabela mysql e não estou conseguindo aparente mente o condgo não está errado tudo funciona corretamente mais quando vou ao mysql não vejo os dados nos campos da Tabela vou postar os meus codgos para alguém me ajudar.

essa classe cria a conecxao

package banco;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Criaconecxao {

    public static Connection getConnecxao() throws SQLException {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            System.out.println("Conectaando ao banco");
            return DriverManager.getConnection("jdbc:mysql://localhost:3306/1anomedio", "root", "123456");
        } catch (ClassNotFoundException e) {
            throw new SQLException(e.getMessage());
        }
    }
}

essa osa o metodo get e set

package logica;

public class Contato {

    private long id;
    private String Nome;
    private String Nascimento;
    private String numero;
    private String ano;
    private String curso;
    private String serie;
    private String turno;
    private String turma;

    public String getNascimento() {
        return Nascimento;
    }

    public void setNascimento(String Nascimento) {
        this.Nascimento = Nascimento;
    }

    public String getNome() {
        return Nome;
    }

    public void setNome(String Nome) {
        this.Nome = Nome;
    }

    public String getAno() {
        return ano;
    }

    public void setAno(String ano) {
        this.ano = ano;
    }

    public String getCurso() {
        return curso;
    }

    public void setCurso(String curso) {
        this.curso = curso;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getNumero() {
        return numero;
    }

    public void setNumero(String numero) {
        this.numero = numero;
    }

    public String getSerie() {
        return serie;
    }

    public void setSerie(String serie) {
        this.serie = serie;
    }

    public String getTurma() {
        return turma;
    }

    public void setTurma(String turma) {
        this.turma = turma;
    }

    public String getTurno() {
        return turno;
    }

    public void setTurno(String turno) {
        this.turno = turno;
    }



    
}



esse usa o metodo insert into
package isael.dwon; import banco.Criaconecxao; import com.mysql.jdbc.Connection; import java.sql.SQLException; import logica.Contato;

public class ContatoDao {

private Connection conexao;

public ContatoDao() throws SQLException {
this.conexao = (Connection) Criaconecxao.getConnecxao();

}

public void adiciona(Contato c1) throws SQLException {
String sql = "INSERT INTO Tbl_Aluno (Nome_Aluno, Data_Nascimento, Numerochamada, Ano, Curso, Serie, Turno, Turma )"
+ "VALUES (?,?,?,?,?,?,?,?)";
java.sql.PreparedStatement stmt = conexao.prepareStatement(sql);

stmt.setString(1, c1.getNome());
stmt.setString(2, c1.getNascimento());
stmt.setString(3, c1.getNumero());
stmt.setString(4, c1.getAno());
stmt.setString(5, c1.getCurso());
stmt.setString(6, c1.getSerie());
stmt.setString(7, c1.getTurno());
stmt.setString(8, c1.getTurma());
stmt.execute();
stmt.close();
}
}

essa é a classe que  faz o teste

import isael.dwon.ContatoDao;
import java.sql.SQLException;
import logica.Contato;

public class Tets {

public static void main(String args[]) throws SQLException {

Contato cont = new Contato();
cont.setNome("carlos");
cont.setNascimento("26/03/02");
cont.setNumero("26");
cont.setAno("2011");
cont.setCurso("Fundamental");
cont.setSerie("5");
cont.setTurno("NOITE");
cont.setTurma("B");

ContatoDao doa = new ContatoDao();
doa.adiciona(cont);
System.out.println("Adicionado ao banco");

}
}
[code]

6 Respostas

romarcio

Você setou o Mysql como Auto Incremento? Da uma conferida nisso.

romarcio
Opa, tem coisa estranha aqui:
public class ContatoDao { 

private Connection conexao; 

public ContatoDao() throws SQLException { 
this.conexao = (Connection) Criaconecxao.getConnecxao(); 

}
Por que vc fez um cast no construtor? Importou a classe Connection do pacote errado:
import com.mysql.jdbc.Connection;
deveria ser a
import java.sqlConnection;
IsaelCoelho

mano sobre as importações erradas ja consegui corrigi ficou bom mais mesmo assim não esta aprecendo os dados na tabela.
não entendi sobre seta o mysql com auto encremento

IsaelCoelho

olha como ficou os meus codgos

import isael.dwon.ContatoDao;
import java.sql.SQLException;
import logica.Contato;

public class Tets {

    public static void main(String args[]) throws SQLException {

        Contato cont = new Contato();
        cont.setId("null");
        cont.setNome("carlos");
        cont.setNascimento("26/03/02");
        cont.setNumero("10");
        cont.setAno("2011");
        cont.setCurso("Fundamental");
        cont.setSerie("5");
        cont.setTurno("NOITE");
        cont.setTurma("B");


        ContatoDao doa = new ContatoDao();
        doa.adiciona(cont);
        System.out.println("Adicionado ao banco");



    }
}

package banco;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Criaconecxao {

public static Connection getConnecxao() throws SQLException { try { Class.forName("com.mysql.jdbc.Driver"); System.out.println("Conectando ao banco"); return DriverManager.getConnection("jdbc:mysql://localhost:3306/1anomedio", "root", "123456"); } catch (ClassNotFoundException e) { throw new SQLException(e.getMessage()); } } }
package isael.dwon;
import banco.Criaconecxao;
import java.sql.Connection;
import java.sql.SQLException;
import logica.Contato;

public class ContatoDao {

    private Connection conexao;

    public ContatoDao() throws SQLException {
        this.conexao =  Criaconecxao.getConnecxao();

    }

    public void adiciona(Contato c1) throws SQLException {
        String sql = "INSERT INTO Tbl_Aluno (0, Nome_Aluno, Data_Nascimento, Numerochamada, Ano, Curso, Serie, Turno, Turma )"
                + "VALUES (?,?,?,?,?,?,?,?,?)";
        java.sql.PreparedStatement stmt = conexao.prepareStatement(sql);

        stmt.setLong(1, c1.getId());
        stmt.setString(2, c1.getNome());
        stmt.setString(3, c1.getNascimento());
        stmt.setString(4, c1.getNumero());
        stmt.setString(5, c1.getAno());
        stmt.setString(6, c1.getCurso());
        stmt.setString(7, c1.getSerie());
        stmt.setString(8, c1.getTurno());
        stmt.setString(9, c1.getTurma());
        
        stmt.execute();
        stmt.close();
    }
}

package logica;

public class Contato {

private long id;
private String Nome;
private String Nascimento;
private String numero;
private String ano;
private String curso;
private String serie;
private String turno;
private String turma;

public String getNascimento() {
return Nascimento;
}

public void setNascimento(String Nascimento) {
this.Nascimento = Nascimento;
}

public String getNome() {
return Nome;
}

public void setNome(String Nome) {
this.Nome = Nome;
}

public String getAno() {
return ano;
}

public void setAno(String ano) {
this.ano = ano;
}

public String getCurso() {
return curso;
}

public void setCurso(String curso) {
this.curso = curso;
}

public long getId() {
return id;
}

public void setId(long id) {
this.id = id;
}

public String getNumero() {
return numero;
}

public void setNumero(String numero) {
this.numero = numero;
}

public String getSerie() {
return serie;
}

public void setSerie(String serie) {
this.serie = serie;
}

public String getTurma() {
return turma;
}

public void setTurma(String turma) {
this.turma = turma;
}

public String getTurno() {
return turno;
}

public void setTurno(String turno) {
this.turno = turno;
}

}
[code]

romarcio

Quando você cria o banco de dados, você pode criar a tabela como auto incremento ou não.
Se você criar como auto incremento, o ID da tabela será gerenciado pelo banco de dados, então assim vc não vai precisar inserir um ID o próprio banco faz isso pra você.
Caso vo não crie como auto incremento, a aplicação é que vai gerenciar o incremento dos IDs na tabela. Dai, cada vez que vc fizer um insert, terá que setar o ID.

Vai no Mysql e gera um script da tabela e cola aqui, dai a gente ve se está auto incremento ou não.

IsaelCoelho

ano valeu as dicas ja ta tudo certo funcionou aki

Criado 27 de fevereiro de 2011
Ultima resposta 28 de fev. de 2011
Respostas 6
Participantes 2