Date

9 respostas
N

Como usar Date numa Classe que importa java.sql e java.util?

9 Respostas

J

Você tem que usar o nome totalmente qualificado da classe:

N

E quanto ao SimpleDateFormat ?

J

Isso não afeta a classe SimpleDateFormat.

N

Valeu. Qualquer dúvida volto por aqui.

P.S. Ainda não resolvi aquele problema do Delete com PreparedStatement…

J

Qual problema?

N

O INSERT funciona, mas o DELETE não!
E ambos seguem o mesmo padrão de código!

import javax.swing.*; 
import javax.swing.table.*; 
import java.util.*; 
import java.sql.*; 
import java.awt.*; 
import java.awt.event.*; 

public class TelaPrincipal implements ActionListener { 
    
   JFrame janela = new JFrame("Tela Principal."); 
   JMenuBar barraMenu = new JMenuBar(); 
   JMenu arquivoMenu = new JMenu("Arquivo"); 
   JMenuItem insereMenu = new JMenuItem("Inserir Registro"); 
   JMenuItem saiMenu = new JMenuItem("Sair"); 
   JTable tabela; 
   JScrollPane painelScroll; 
   DefaultTableModel modeloTabela; 
   Vector nomeColunas = new Vector(); 
   Vector dados = new Vector(); 
    
   public TelaPrincipal() { 
      janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      janela.setExtendedState(JFrame.MAXIMIZED_BOTH); 
      janela.setResizable(false); 
      janela.setLayout(new FlowLayout()); 
      janela.setJMenuBar(barraMenu); 
      barraMenu.add(arquivoMenu); 
      arquivoMenu.add(insereMenu); 
      arquivoMenu.addSeparator(); 
      arquivoMenu.add(saiMenu); 
      insereMenu.addActionListener(this); 
      saiMenu.addActionListener(this); 
      this.exibirRegistros(); 
   } 
    
   public void exibirRegistros() { 
      try { 
         String driver = "org.hsqldb.jdbcDriver";    
         String url = "jdbc:hsqldb:file:./db/database";    
         String password = "";    
         String sqlSelect = "SELECT * FROM CLIENTES";  
         Class.forName(driver); 
         Connection conexao = DriverManager.getConnection(url, userId, password); 
          Statement sqlStatement = conexao.createStatement(); 
         ResultSet resultado = sqlStatement.executeQuery(sqlSelect); 
         ResultSetMetaData rsmd = resultado.getMetaData(); 
         int colunas = rsmd.getColumnCount(); 
         for(int i = 1; i <= colunas; i++) 
            nomeColunas.addElement(rsmd.getColumnName(i)); 
          while(resultado.next()) {    
            Vector tupla = new Vector(colunas);    
            for(int i = 1; i <= colunas; i++) 
               tupla.addElement(resultado.getObject(i));                          dados.addElement(tupla); 
         }          
         sqlStatement.close(); 
         resultado.close(); 
      } 
      catch(ClassNotFoundException cnfe) { 
         cnfe.printStackTrace();    
      } 
      catch(SQLException sqle) { 
         sqle.printStackTrace();    
      } 
         modeloTabela = new DefaultTableModel(dados, nomeColunas); 
      tabela = new JTable(modeloTabela);  
       painelScroll = new JScrollPane(tabela);    
      janela.getContentPane().add(painelScroll); 
      tabela.setEnabled(false); 
      janela.setVisible(true); 
  } 
    
   public void adicionarRegistro() { 
      try { 
         String driver = "org.hsqldb.jdbcDriver"; 
         String url = "jdbc:hsqldb:file:./db/database"; 
         String userId = "sa"; 
         String password = ""; 
         String sqlInsert = "INSERT INTO CLIENTES VALUES (?, ?, ?)"; 
         Class.forName(driver); 
         Connection connection = DriverManager.getConnection(url, userId, password); 
         String id = JOptionPane.showInputDialog(null, "Digite a ID do cliente:", "ID", 3); 
         String nome = JOptionPane.showInputDialog(null, "Digite o NOME do cliente:", "NOME", 3); 
         String fone = JOptionPane.showInputDialog(null, "Digite o TELEFONE do cliente:", "TELEFONE", 3); 
         int idInt = Integer.parseInt(id); 
         String nomeString = nome.toUpperCase(); 
         int foneInt = Integer.parseInt(fone); 
         PreparedStatement pstm = connection.prepareStatement(sqlInsert); 
         pstm.setInt(1, idInt); 
         pstm.setString(2, nomeString); 
         pstm.setInt(3, foneInt); 
         int inseriu = pstm.executeUpdate(); 
         if(inseriu != 1) { 
            JOptionPane.showMessageDialog(null, "Não foi possível inserir o registro! Verifique os valores inseridos.", "Resultado da inserção do registro", 3);  
         } 
         else { 
            connection.commit(); 
            modeloTabela.addRow(new Object[] { idInt, nomeString, foneInt } ); 
            JOptionPane.showMessageDialog(null, "Registro inserido com sucesso!", "Resultado da inserção do registro", 1);    
         } 
         pstm.close(); 
         connection.close(); 
      }   // Fim try { 
      catch(ClassNotFoundException cnfe) { 
         cnfe.printStackTrace(); 
         System.out.println(cnfe.toString()); 
      } 
      catch(SQLException sqle) { 
         sqle.printStackTrace();  
         System.out.println(sqle.toString()); 
         JOptionPane.showMessageDialog(null, "Não foi possível inserir o registro! Verifique os valores inseridos.", "Resultado da inserção do registro", 3);  
      } 
   } 

   public void deletarRegistro() { 
      try { 
         String driver = "org.hsqldb.jdbcDriver"; 
         String url = "jdbc:hsqldb:file:./db/database"; 
         String userId = "sa"; 
         String password = ""; 
         String sqlDelete = "DELETE * FROM CLIENTES WHERE ID_CLIENTE = ?)"; 
         Class.forName(driver); 
         Connection connection = DriverManager.getConnection(url, userId, password); 
         String id = JOptionPane.showInputDialog(null, "Digite a ID do cliente a ser deletado:", "ID", 3); 
         int idInt = Integer.parseInt(id); 
         PreparedStatement pstm = connection.prepareStatement(sqlDelete); 
         pstm.setInt(1, idInt); 
         int deletou = pstm.executeUpdate(); 
         if(deletou != 1) { 
            JOptionPane.showMessageDialog(null, "Não foi possível deletar o registro! Verifique ID digitada.", "Resultado.", 3);  
         } 
         else { 
            connection.commit(); 
            JOptionPane.showMessageDialog(null, "Registro deletado!", "Resultado.", 1);    
         } 
         pstm.close(); 
         connection.close(); 
      }   // Fim try { 
      catch(ClassNotFoundException cnfe) { 
         cnfe.printStackTrace(); 
         System.out.println(cnfe.toString()); 
      } 
      catch(SQLException sqle) { 
         sqle.printStackTrace();  
         System.out.println(sqle.toString()); 
      } 
   } 

    
   public void actionPerformed(ActionEvent ae) { 
      Object obj = ae.getSource(); 
      if(obj == insereMenu) 
         this.adicionarRegistro(); 
      if(obj == saiMenu) 
         System.exit(0);    
   } 
    
   public static void main(String[] args) { 
      TelaPrincipal tp = new TelaPrincipal();    
   } 
}
J

Não tem esse *.

N

Não lembro se já tinha corrigido isso. Vou ver o código atual e mandar uma resposta.

N

Eu já havia feito essa correção.
Olhando o código atual:

sqlDelete = “DELETE FROM CLIENTES WHERE ID_CLIENTE = ?”;

E mesmo assim não funciona!

Criado 20 de setembro de 2006
Ultima resposta 21 de set. de 2006
Respostas 9
Participantes 2