Gostaria de uma ajuda, não roda só dá esse eeeo,sou iniciante de java

11 respostas
neo_aba
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);
        
        }    
     }

11 Respostas

psandrelli

neo_aba,

quando for postar código, use a Tag “Code”.
Que erro que tá dando?

neo_aba

o método carregaResultSet fala que é illegal start expression

A

vc criou o odbc no fontes de dados do windows com o nome de “MeuBanco”, pois pode estar vindo o erro dai

vlws

vanderlanio

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 !
:wink:

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() ???????????????
}
neo_aba

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

vanderlanio

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 ! :wink:

neo_aba

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.

vanderlanio

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 ) …

neo_aba

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

vanderlanio

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

neo_aba

blz ,valeu vou estudar mais.

Criado 9 de janeiro de 2008
Ultima resposta 9 de jan. de 2008
Respostas 11
Participantes 4