Bom dia pessoal!!
Estou elaborando o projeto final e esbarrei num problema.
Tenho que criar a classe DAO, porém, não consigo inserir o valor digitado na interface no meu banco de dados (passando por uma classe intermediária), a classe DAO não está recebendo o valor !!!
Obs: o valor não pode passar direto da caixa de texto para o banco.
Abaixo o código que estou usando:
A inteface:
package view;
import model.client;
import control.Dao;
public class teste extends javax.swing.JFrame {
/** Creates new form BeanForm */
public teste() {
initComponents();
}
public void receber()
{
client ci = new client();
ci.setNome(txtNome.getText());
System.out.println(ci.getNome());
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Dao da = new Dao();
da.criarTabela();
receber();
da.inserirDados();
}
A classe DAO:
package control;
import java.sql.<em>;
import org.postgresql.util.</em>;
import java.util.*;
import model.client;
public class Dao {
/** Creates a new instance of Dao */
public Dao() {
}
String url = "jdbc:postgresql://localhost/Banco";
String usuario= "gui";
String senha = "post";
client c = new client();
public client inserirDados()
{
try {
Class.forName("org.postgresql.Driver");
Connection con = DriverManager.getConnection(url,usuario,senha);
StringBuffer sql = new StringBuffer();
sql.append("INSERT INTO tablogi(nome)" );
sql.append("VALUES (?)");
PreparedStatement ps = con.prepareStatement(sql.toString());
String nome = c.getNome();
ps.setString(1, nome);
ps.executeUpdate();
ps.close();
con.close();
}
catch (Exception e) {
System.err.println("Problemas com SQL: "+e.getMessage()); }
return c;
}
A classe intermediária:
public class client {
/** Creates a new instance of client */
public client() {
}
private String nome;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
A classe controle:
package control;
import view.teste;
public class principal {
/** Creates a new instance of principal */
public principal() {
}
public static void main (String args[])
{
teste pi = new teste();
pi.setBounds (0,0,800,600);
pi.setVisible(true);
}
}
O net.beans me retorna o seguinte erro:
Problemas com SQL: ERROR: null value in column “nome” violates not-null constraint