Como usar Date numa Classe que importa java.sql e java.util?
Date
N
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