oi pessoal
criei estas tres classes para manipulação via JDBC
(banco em anexo)
quando tento inserir diz que nome não pode ser nulo:
java.sql.SQLException: Column 'nome' cannot be null
será que alguem pode me ajudar
agradeço desde já
CLASS CONFIG
[code]package candx;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import candx.View;
@SuppressWarnings(“unused”)
public class Config{
//um cliente
Cliente client = new Cliente();
//conecta
public Connection conectar() throws SQLException, ClassNotFoundException, InstantiationException, IllegalAccessException{
Class.forName("com.mysql.jdbc.Driver");
return DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","");
}
//insere
public void inserir(Cliente c) throws InstantiationException, IllegalAccessException{
try{
Connection con = conectar();
int idade= client.getIdade();
String nome = client.getNome();
String prof = client.getProfissao();
PreparedStatement stm = con.prepareStatement("insert into banco(idade, nome, profissao)values(?,?,?)");//APONTA ERRO POR AQUI
stm.setInt(1,idade);
stm.setString(2,nome);
stm.setString(3,prof);
stm.executeUpdate();
//stm.close();
}
catch(SQLException sqlEx){
sqlEx.printStackTrace();
}
catch(ClassNotFoundException not){
not.printStackTrace();
}
}
//consulta
public void consultar(Cliente c) throws InstantiationException, IllegalAccessException{
try{
Connection con = conectar();
Statement stm = con.createStatement();
String sql = "select * from banco";
ResultSet rs = stm.executeQuery(sql);
while(rs.next()){
System.out.println(rs.getString("idade") + "\n" + rs.getString("nome")+"\n"+ rs.getString("profissao"));
}
}
catch(ClassNotFoundException not){
not.printStackTrace();
}
catch(SQLException sqlEx){
sqlEx.printStackTrace();
}
}
//atualiza
public void atualizar(Cliente c) throws InstantiationException, IllegalAccessException{
try{
Connection con = conectar();
PreparedStatement stm = con.prepareStatement("update banco set idade='"+client.getIdade()+"', nome='"+client.getNome()+"', profissao='"+client.getProfissao()+"' where idade = '"+client.getIdade()+"'");
//stm.clearParameters();
stm.executeUpdate();
//stm.close();
}
catch(SQLException sqlEx){
sqlEx.printStackTrace();
}
catch(ClassNotFoundException not){
not.printStackTrace();
}
}
//exclui
public void apagar(Cliente c) throws InstantiationException, IllegalAccessException{
try{
Connection con = conectar();
PreparedStatement stm = con.prepareStatement("delete from banco where nome =?");
stm.setString(1,client.getNome());
stm.executeUpdate();
}
catch(SQLException sqlEx){
sqlEx.printStackTrace();
}
catch(ClassNotFoundException not){
not.printStackTrace();
}
}
}
[/code]
CLASS VIEW
package candx;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class View extends Config{
public JFrame f;
public JTextField idade;
public JTextField nomee;
public JTextField profissao;
public JButton inserir;
public JButton listar;
public JButton update;
public JButton delete;
public JPanel p1;
public JPanel p2;
public Cliente client = new Cliente();
public Config conf = new Config();
//MAIN
public static void main(String[] args) {
View v = new View();
v.init();
}
public void init(){
f = new JFrame();
p1 = new JPanel();
nomee = new JTextField(10);
nomee.requestFocus();
idade = new JTextField(10);
idade.requestFocus();
profissao = new JTextField(10);
profissao.requestFocus();
p1.add(nomee);
p1.add(idade);
p1.add(profissao);
p2 = new JPanel();
inserir = new JButton("inserir");
inserir.addActionListener(new Insere());
listar = new JButton("listar");
listar.addActionListener(new Lista());
update = new JButton("update");
update.addActionListener(new Atualiza());
delete = new JButton("delete");
delete.addActionListener(new Apaga());
p2.add(inserir);
p2.add(listar);
p2.add(update);
p2.add(delete);
f.getContentPane().add(p1,BorderLayout.CENTER);
f.getContentPane().add(p2,BorderLayout.SOUTH );
f.setSize(600,400);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLocation(200,200);
f.setVisible(true);
}
public class Insere implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
try{
inserir(client);
JOptionPane.showMessageDialog(null,"inserido com sucesso");
}
catch(Exception ex){
ex.printStackTrace();
System.out.println(ex.getMessage());
}
}
}
public class Lista implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
try {
consultar(client);
} catch (InstantiationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalAccessException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
//consulta banco
}
}
public class Atualiza implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
try {
atualizar(client);
} catch (InstantiationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalAccessException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
JOptionPane.showMessageDialog(null, "atualizado com sucesso");
}
}
public class Apaga implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
try {
apagar(client);
} catch (InstantiationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalAccessException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
JOptionPane.showMessageDialog(null, "excluidos do banco");
}
}
}
CLASS CLIENT
[code]package candx;
public class Cliente{
private int idade;
private String nome;
private String profissao;
/*public Client(String n, int id, String p){
this.nome = n;
this.idade = id;
this.profissao = p;
}*/
public int getIdade() {
return idade;
}
public void setIdade(int idade) {
this.idade = idade;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getProfissao() {
return profissao;
}
public void setProfissao(String profissao) {
this.profissao = profissao;
}
@Override
public boolean equals(Object o) {
if(o instanceof Cliente && ((Cliente)o).idade==this.idade){
return true;
}else{
return false;
}
}
@Override
public int hashCode() {
return this.idade * 7;
}
/*@Override
public int compareTo(Object o) {
return this.idade.compareTo(((Client)o).idade);
}*/
public String toString(){
return "idade: " + idade + "nome: " + nome + "profissão: " + profissao ;
}
}
[/code]