Banco de dados

5 respostas
M

Pessoal não estou entendendo pq esta dando erro no meu banco de dados..... :(

Observem

O JPanel da textField

import java.awt.*;
import javax.swing.*;


public class PanelTextField extends JPanel{
  public static JTextField TextsFields[] = new JTextField[12];

  public PanelTextField(){

    setLayout(new GridLayout(12, 1, 2, 2));

    for(int i=0; i < TextsFields.length; i++){
      TextsFields[i] = new JTextField(18);
      add(TextsFields[i]);
    }
  }
}

certo e agora a conectividade com o banco!

import java.sql.*;
import javax.swing.*;

public class DataBaseConection{

  private final static String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
  private final static String url = "jdbc:odbc:Cadastro";

  private final static String username = "";
  private final static String password = "";

  private Connection con;
  private Statement stmt;
  private ResultSet rs;

  //abre a conexão com o banco de dados
  public void openDataBase() {

    try {
      Class.forName(driver);
      con = DriverManager.getConnection(url, username, password);
      stmt = con.createStatement();
      JOptionPane.showMessageDialog(null, "Conexão estabelecida com sucesso",
                                    "", JOptionPane.INFORMATION_MESSAGE);
    }

    catch (ClassNotFoundException e) {
      JOptionPane.showMessageDialog(null, "Erro ao carregar JDBC/ODBC", "Erro",
                                    JOptionPane.ERROR_MESSAGE);
    }

    catch (SQLException e) {
      JOptionPane.showMessageDialog(null,
                                    "Não foi possivel estavelece a conexão",
                                    "Erro", JOptionPane.ERROR_MESSAGE);

    }

  }

  public void cadastra(String a, String b, String c, String d, String e,
                       String f, String g,
                       String h, String i, String j, String l, String m) {

    int linhas = 0;

    String A = ( (a == null) ? "Não Cadastrado" : a);
    String B = ( (b == null) ? "Não Cadastrado" : b);
    String C = ( (c == null) ? "Não Cadastrado" : c);
    String D = ( (d == null) ? "Não Cadastrado" : d);
    String E = ( (e == null) ? "Não Cadastrado" : e);
    String F = ( (f == null) ? "Não Cadastrado" : f);
    String G = ( (g == null) ? "Não Cadastrado" : g);
    String H = ( (h == null) ? "Não Cadastrado" : h);
    String I = ( (i == null) ? "Não Cadastrado" : i);
    String J = ( (j == null) ? "Não Cadastrado" : j);
    String L = ( (l == null) ? "Não Cadastrado" : l);
    String M = ( (m == null) ? "Não Cadastrado" : m);

    String query = "INSERT INTO CADASTRO(Empresa, TelefoneE, EndereçoE, EmailE, Contato1, TelefoneC1, FaxC1, EmailC1, Contato2, TelefoneC2, FaxC2, EmailC2) VALUES('" +
        A + "', '" + B + "', '" + C + "', '" + D + "', '" + E + "', '" + F +
        "', '" + G + "', '" + H + "', '" + I + "', '" + J + "', '" + L + "', '" +
        M + "'";

    try {
      linhas = stmt.executeUpdate(query);
    }

    catch (SQLException ex) {
      System.err.println("Vc é um incompetente msm!!!!");
    }

  }
}

e eu estou chamando este metodo em um evento de um JMenuItem...

if (e.getSource() == salvar) {
        conexao.cadastra(PanelTextField.TextsFields[0].getText(), PanelTextField.TextsFields[1].getText(),
                         PanelTextField.TextsFields[2].getText(), PanelTextField.TextsFields[3].getText(),
                         PanelTextField.TextsFields[4].getText(), PanelTextField.TextsFields[5].getText(),
                         PanelTextField.TextsFields[6].getText(), PanelTextField.TextsFields[7].getText(),
                         PanelTextField.TextsFields[8].getText(), PanelTextField.TextsFields[9].getText(),
                         PanelTextField.TextsFields[10].getText(), PanelTextField.TextsFields[11].getText());

O que pode estar dando errado?!?!?

5 Respostas

_fs

Dá erro de compilação? Runtime error? O micro desliga quando você executa?

M

Ele da um run time error

at java.awt.Component.processMouseEvent(Component.java:5134)
    at java.awt.Component.processEvent(Component.java:4931)
    at java.awt.Container.processEvent(Container.java:1566)
    at java.awt.Component.dispatchEventImpl(Component.java:3639)
    at java.awt.Container.dispatchEventImpl(Container.java:1623)
    at java.awt.Component.dispatchEvent(Component.java:3480)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450

)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)
    at java.awt.Container.dispatchEventImpl(Container.java:1609)
    at java.awt.Window.dispatchEventImpl(Window.java:1590)
    at java.awt.Component.dispatchEvent(Component.java:3480)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:197)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre

ad.java:150)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)

    at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)

Eu não entendo pq isso acontece…

_fs

Cara, em que momento do seu código você atribui as informações dos JTextFields às String a,b,c,n,m?

Mas pelo que li no debug o problema ocorreu com o mouseEvent. Você criou um?

M

Eu atribui na passabem de parametro da função,

if (e.getSource() == salvar) { 
        conexao.cadastra(PanelTextField.TextsFields[0].getText(), PanelTextField.TextsFields[1].getText(), 
                         PanelTextField.TextsFields[2].getText(), PanelTextField.TextsFields[3].getText(), 
                         PanelTextField.TextsFields[4].getText(), PanelTextField.TextsFields[5].getText(), 
                         PanelTextField.TextsFields[6].getText(), PanelTextField.TextsFields[7].getText(), 
                         PanelTextField.TextsFields[8].getText(), PanelTextField.TextsFields[9].getText(), 
                         PanelTextField.TextsFields[10].getText(), PanelTextField.TextsFields[11].getText());

Depois eu tratei elas aqui

String A = ( (a == null) ? "Não Cadastrado" : a); String B = ( (b == null) ? "Não Cadastrado" : b); String C = ( (c == null) ? "Não Cadastrado" : c); String D = ( (d == null) ? "Não Cadastrado" : d); String E = ( (e == null) ? "Não Cadastrado" : e); String F = ( (f == null) ? "Não Cadastrado" : f); String G = ( (g == null) ? "Não Cadastrado" : g); String H = ( (h == null) ? "Não Cadastrado" : h); String I = ( (i == null) ? "Não Cadastrado" : i); String J = ( (j == null) ? "Não Cadastrado" : j); String L = ( (l == null) ? "Não Cadastrado" : l); String M = ( (m == null) ? "Não Cadastrado" : m);

Quanto e mouseEvent eu não criei nenhum! Neste programa nem precisa msm…

Abdon

Vc tem certeza que vc configurou o ODBC corretamanete?

Criado 13 de novembro de 2003
Ultima resposta 13 de nov. de 2003
Respostas 5
Participantes 3