import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.Event.*;
class ocorrencia extends JFrame implements ActionListener
{
JLabel1 label1,label2,label3,label4,label5;
JButton btGravar, btAlterar, btExcluir, btNovo, btLocalizar, btCancelar;
static JTextField tfCodigo,tfTitulo,tfGenero,tfProdutora,tfDataCompra;
JPanel painel1 = new JPanel();
ResultSet resultSet;
Statement statement;
public static void main ( String args[])
{
JFrame janela = new ocorrencia();
janela.setUndecorated(true);
janela.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
janela.setVisible(true);
}
ocorrencia()
{
painel1.setLayout(new FlowLayout(FlowLayout.LEFT));
label1 = new JLabel1 ("Código ");
label2 = new JLabel1 ("Título ");
label3 = new JLabel1 ("Gênero ");
label4 = new JLabel1 ("Produtora ");
label5 = new JLabel1 ("Data da Compra ");
tfCodigo = new JTextField(10);
tfCodigo.addActionListener(this);
tfTitulo = new JTextField(10);
tfGenero = new JTextField(10);
tfProdutora= new JTextField(15);
tfDataCompra = new JTextField(8);
btGravar = new JButton("Gravar");
btAlterar = new JButton("Alterar");
btExcluir = new JButton("Excluir");
btLocalizar = new JButton("Localizar");
btNovo = new JButton("Novo");
btCancelar = new JButton("Cancelar");
btGravar.setBackground(new Color(180,180,250));
btAlterar.setBackground(new Color(180,180,250));
btExcluir.setBackground(new Color(180,180,250));
btLocalizar.setBackground(new Color(180,180,250));
btNovo.setBackground(new Color(180,180,250));
btCancelar.setBackground(new Color(180,180,250));
btGravar.addActionListener(this);
btAlterar.addActionListener(this);
btExcluir.addActionListener(this);
btLocalizar.addActionListener(this);
btNovo.addActionListener(this);
btCancelar.addActionListener(this);
painel1.add(label1); painel1.add(tfCodigo);
painel1.add(label2); painel1.add(tfTitulo);
painel1.add(label3); painel1.add(tfGenero);
painel1.add(label4); painel1.add(tfProdutora);
painel1.add(label5); painel1.add(btLocalizar);
painel1.add(btNovo); painel1.add(btLocalizar);
painel1.add(btGravar); painel1.add(btAlterar);
painel1.add(btExcluir); painel1.add(btCancelar);
getContentPane().add(painel1);
setTitle("Cadastramento de Filmes ");
setSize(610,120);
setResizable(false);
setBotoes(true,true,false,false,false,false);
carregaResultSet();
}
public void actionPerformed(ActionEvent e)
{
if (e.getSource()==btNovo)
{
limpaCampos();
setBotoes(false,false,true,false,false,true);
return;
}
if (e.getSource()==btGravar)
{
try
{
String sql = " INSERT INTO Filmes (codigo,titulo,genero," + " produtora,datacompra) Values ('" +
tfCodigo.getText() + "','" +
tfTitulo.getText() + "','" +
tfGenero.getText() + "','" +
tfProdutora.getText() + "','" +
tfDataCompra.getText() + "')";
statement.executeUpdate(sql);
JOptionPane.showMessageDialog(null,"Gravação realizada com sucesso! ");
setBotoes(true,true,false,true,true,false);
}
catch (SQLException erro)
{
if (erro.getMessage().equals("General error"))
JOptionPane.showMessageDialog(null,"Filme já cadatrado ! ");
else
JOptionPane.showMessageDialog(null,"Data Inválida! ");
}
carregaResultSet();
}
//final da inclusão
if (e.getSource()==btAlterar)
{
try
{
String sql = "UPDATE Filmes " +
"codigo=" + tfCodigo.getText() + "'," +
"titulo=" + tfTitulo.getText() + "'," +
"genero=" + tfGenero.getText() + "'," +
"produtora=" + tfProdutora.getText() + "'," +
"datacompra=" + tfDataCompra.getText() + "' " +
"WHERE codigo = '" + tfCodigo.getText() + "'";
int r= statement.executeUpdate(sql);
if (r==1)
JOptionPane.showMessageDialog(null,"Alteração realizada com sucesso !");
else
JOptionPane.showMessageDialog(null,"Problemas na alteração! ");
setBotoes(true,true,false,true,true,false);
}
catch (SQLException erro)
{
JOptionPane.showMessageDialog(null,"Data inválida! ");
}
carregaResultSet();
}
//final da alteração
if (e.getSource()==btExcluir)
{
try
{
String sql = " SELECT codigo, titulo FROM Filmes WHERE codigo = '"+tfCodigo.getText()+"')";
resultSet = statement.executeQuery(sql);
String nome = "";
try
{
resultSet.next();
nome = "Deletar o filme: " + resultSet.getString("titulo");
}
catch (SQLException ex1)
{
JOptionPane.showMessageDialog(null,"Filme nao cadastrado! ");
carregaResultSet();
return;
}
int n = JOptionPane.showConfirmDialog(null,nome,"",JOptionPane.YES_OPTION);
if (n==JOptionPane.YES_OPTION)
{
sql = "DELETE FROM Filmes Where codigo = '" + tfCodigo.getText() + "'";
int r = statement.executeUpdate(sql);
if (r==1)
JOptionPane.showMessageDialog(null, "Não foi possível excluir o filme");
limpaCampos();
setBotoes(true,true,false,false,false,false);
}
}
catch (SQLException erro) {}
carregaResultSet();
}
//final da exclusão
if (e.getSource()==btLocalizar || e.getSource()==tfCodigo)
{
try
{
String sql = " SELECT * FROM Filmes Where codigo = '" + tfCodigo.getText() + "'";
resultSet = statement.executeQuery(sql);
resultSet.next();
atualizaCampos();
setBotoes(true,true,false,true,true,false);
}
catch (SQLException erro)
{
JOptionPane.showMessageDialog(null, "Filme nao encontrado! ");
carregaResultSet();
return;
}
}
//final da localização
[b] public void carregaResultSet()[/b] {[quote]fala illegal start of expression
String url = "jdbc:odbc:MeuBanco ";
try
{
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver");
Connection minhaConexao = DriverManager.getConnection(url);
statement = minhaConexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
resultSet = statement.executeQuery("SELECT * FROM Filmes");
}
catch (ClassNotFoundException erro)
{
System.out.println("Driver JDBC-ODBC não encontrado! ");
}
catch (SQLException erro)
{
System.out.println("Problemas na conexao com a fonte de dados");
}
}
public static void limpaCampos()
{
tfCodigo.setText("");
tfTitulo.setText("");
tfGenero.setText("");
tfProdutora.setText("");
tfDataCompra.setText("");
}
public void atualizaCampos()
{
try
{
tfCodigo.setText(resultSet.getString("codigo"));
tfTitulo.setText(resultSet.getString("titulo"));
tfGenero.setText(resultSet.getString("genero"));
tfProdutora.setText(resultSet.getString("produtora"));
tfDataCompra.setText(resultSet.getString("datacompra"));
}
catch (SQLException erro){ }
}
public void setBotoes(boolean bNovo,boolean BLocaliza,boolean bGravar,boolean BAlterar,boolean BExcluir,boolean bCancelar)
{
btNovo.setEnabled(bNovo);
btLocalizar.setEnabled(bLocalizar);
btGravar.setEnabled(bGravar);
btAlterar.setEnabled(bAlterar);
btExcluir.setEnabled(bExcluir);
btCancelar.setEnabled(bCancelar);
}
}
Gostaria de uma ajuda, não roda só dá esse eeeo,sou iniciante de java
11 Respostas
neo_aba,
quando for postar código, use a Tag “Code”.
Que erro que tá dando?
o método carregaResultSet fala que é illegal start expression
vc criou o odbc no fontes de dados do windows com o nome de “MeuBanco”, pois pode estar vindo o erro dai
vlws
amigo, tem uma serie de erros nesse seu codigo, mas parece que copiado e colado !
DICA vai escrevendo aos poucos e retirando os errros de compilação !
abaixo a correção de parte do codigo, de continuidade na escrita e vai testando aos poucos !
as dividas vai postando e iremos ajudar !

import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.Event.*;
//add import da classe
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/*Por padrão toda classe java comerça com letra em caixa alta*/
class Ocorrencia extends JFrame implements ActionListener {
//correção (JLabel1)
JLabel label1, label2, label3, label4, label5;
JButton btGravar, btAlterar, btExcluir, btNovo, btLocalizar, btCancelar;
static JTextField tfCodigo, tfTitulo, tfGenero, tfProdutora, tfDataCompra;
JPanel painel1 = new JPanel();
ResultSet resultSet;
Statement statement;
//Construtor
public Ocorrencia() {
// TODO Auto-generated constructor stub
painel1.setLayout(new FlowLayout(FlowLayout.LEFT));
label1 = new JLabel ("Código ");
label2 = new JLabel ("Título ");
label3 = new JLabel ("Gênero ");
label4 = new JLabel ("Produtora ");
label5 = new JLabel ("Data da Compra ");
tfCodigo = new JTextField(10);
tfCodigo.addActionListener(this);
tfTitulo = new JTextField(10);
tfGenero = new JTextField(10);
tfProdutora= new JTextField(15);
tfDataCompra = new JTextField(;
btGravar = new JButton("Gravar");
btAlterar = new JButton("Alterar");
btExcluir = new JButton("Excluir");
btLocalizar = new JButton("Localizar");
btNovo = new JButton("Novo");
btCancelar = new JButton("Cancelar");
btGravar.setBackground(new Color(180,180,250));
btAlterar.setBackground(new Color(180,180,250));
btExcluir.setBackground(new Color(180,180,250));
btLocalizar.setBackground(new Color(180,180,250));
btNovo.setBackground(new Color(180,180,250));
btCancelar.setBackground(new Color(180,180,250));
btGravar.addActionListener(this);
btAlterar.addActionListener(this);
btExcluir.addActionListener(this);
btLocalizar.addActionListener(this);
btNovo.addActionListener(this);
btCancelar.addActionListener(this);
painel1.add(label1); painel1.add(tfCodigo);
painel1.add(label2); painel1.add(tfTitulo);
painel1.add(label3); painel1.add(tfGenero);
painel1.add(label4); painel1.add(tfProdutora);
painel1.add(label5); painel1.add(btLocalizar);
painel1.add(btNovo); painel1.add(btLocalizar);
painel1.add(btGravar); painel1.add(btAlterar);
painel1.add(btExcluir); painel1.add(btCancelar);
getContentPane().add(painel1);
setTitle("Cadastramento de Filmes ");
setSize(610,120);
setResizable(false);
//setBotoes(true,true,false,false,false,false);
//carregaResultSet();
}
public static void main(String args[]) {
//JFrame janela = new ocorrencia(); ??
Ocorrencia janela = new Ocorrencia();
janela.setUndecorated(true);
janela.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
janela.setVisible(true);
}
//ocorrencia() ???????????????
}
eu vou começar o curso de java só dia 28 e já estou tendo que fazer programas no trampo,um sistemas de chamado,mas este é do livro para eu entender seu funcionamento eu estou lendo o livro java2 agora falta implementar os comandos né? SQL
sim, crie uma classe Conexao que retorne uma conexao com banco, e crie uma outra classe que ira utilizar essa conexao executar o sql , essa classe será utilizada pelas ações. Pra inicio já ta de bom ! 
e pra implementar? eu estava usando do livro,mas agora não sei,roda o visual,mas não faz nenhuma ação! gostaria de um exemplo para implementar.
e sim, você pode continuar usando o livro, a diferença e que você não ira implementa o acesso ao banco tudo na mesma classe, ira separar !
assim você até ira conseguir absorver melhor o conteúdo , sua pequena aplicação ira conter 4 classes - OcorrenciaBean - nela você terá os atributos que será manipulados e seus gets e sets, ex:
public class OcorrenciaBean{
private Long codigo;
private String titulo;
//....
/* get e sets
public void setCodigo(Long codigo){
this.codigo = codigo;
}
public Long getCodigo(){
return this.codigo
}
// o mesmo para os outros atributos
}
esse bean deverá ser populado na classe OcorrenciaFrame - e deverá ser passada para as demais classes, ela que ira conter as informações que você ira (salvar, alterar , pesquisar) se complicou pode fazer sem o bean como no exemplo.
Você terá tambem a classe OcorrenciaJDBCImpl ( classe que executará o trecho de codigo (SQL) de seu exemplo , mas para executar ira precisar de uma conexao , então ela deverá ter uma instancia da classe Conexao com um metodo que retorne um obj Connection ( nela terá o trecho do seu exemplo, que realiza a conexao com banco de dados )
Notou que você só estará separando , ou seja deixando mais organizado seu projeto, caso você precise implementar outra tela , ira utilizar por exemplo a classe de conexao para todas elas e não ficara rescrevendo toda vez ( reutilização de código ) …
coloquei todos os sets e gets nos outros atributos, eu crio essa classe OcorrenciaBean em outro projeto? ou continuo escrevendo embaixo pois dá erro que devia ser chamada ela.java
elas ficaram em pacotes diferentes, com.projeto.ocorrencia.beans , com.projeto.ocorrencia.frames, e por ai em diante, acho melhor você da uma estudada nos conceitos basícos da linguagem, e de estrema importancia você ter bons conhecimentos em POO . O nome da o arquivo java deve ser o mesmo nome da classe . . . você tem antes de tudo aprender esses conceitos basicos.
aqui bo guj, tem uma serie de tutoriais que irá ajuda-lo, http://www.guj.com.br/artigos.jsp
blz ,valeu vou estudar mais.