Ir ao conteúdo
  • Cadastre-se
Jade Bortot

Java Erro no ResultSet de um projeto do NetBeans

Recommended Posts

Olá. Estou fazendo um software no NetBeans para ser usado na biblioteca, ele irá registrar os clientes, os livros, os empréstimos e para a devolução do livro, este será deletado da tabela empréstimo. Para facilitar, na tela inicial quero colocar uma tabela para que seja pesquisado o código do cliente (que estou chamando de usuário) para que seja encontrado o registro feito. Não sei se tem outros erros no código, porque ainda não finalizei, e também tem coisas essenciais, como por exemplo as datas estarem em Date, que não estão, pois queria facilitar o meu trabalho inicial, sempre quando converto essas informações, encontro muitos erros. Mas enfim, um erro que eu acho que esta impedindo que eu faça a pesquisa e que a tabela que coloquei na tela chamada Menu, mostre os registros. Irei colocar a parte do código que esta dando erro aqui e também irei disponibilizar todo o projeto com o banco de dados em uma nuvem. 

Esse é o link onde está o projeto https://1drv.ms/u/s!Ajo-4kKrCfZtiQ3NR01U1woX1win (a pasta onde estão as imagens não esta sendo utilizada ainda) O arquivo esta compactado.

 

Esse é a parte do código onde esta apontando o erro

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package classes;

import com.mysql.jdbc.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.jdbc.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;
import javax.sql.StatementEvent;
import classes.claEmprestimo;
import classes.claLivro; 
import classes.claMulta;
import classes.claUsuario;
import javax.naming.spi.DirStateFactory.Result;

/**
 *
 * @author Jade e Luanna
 */
public class Dados {

    private classes.claLivro co;
    private Statement stmt = null;
    private Connection conn = null;
    private String driverName = "org.gjt.mm.mysql.Driver";
    private String conString = "jdbc:mysql://localhost:3306/biblioteca";
    private String usuario = "root";
    private String senha = "root";
    
public Dados (){
        try{
            Class.forName(driverName);
            conn = (Connection) DriverManager.getConnection(conString, usuario, senha);
            stmt = (Statement) conn.createStatement();
            JOptionPane.showMessageDialog(null, "Conexão OK");
        }
        catch(ClassNotFoundException e){
            show("Classe não encontrada: "+e.getMessage());
        }
        catch(SQLException e){
            show("Erro SQL: "+e.getLocalizedMessage());
        }
        
}

private void show(String mensagem) {
        JOptionPane.showMessageDialog(null, mensagem, "Erro", JOptionPane.INFORMATION_MESSAGE);
}
    
    
public void insert(claLivro co){
        
    /*SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
    */
    String databanco; /*= sdf.format(co.getData_nascimento());*/
    
  String SQL =("INSERT INTO livro(titulo, autor, status) values ('"+co.getTitulo()+"','"+co.getAutor()+"','"+co.getStatus()+"')");   
 
  try{
        stmt.executeUpdate(SQL);
        JOptionPane.showMessageDialog(null,"Livro cadastrado com sucesso");   
 }
 catch(SQLException e){
     show("Erro SQL: "+e.getMessage());
 }
    
}

public void insert(claUsuario u) {
            String databanco; /*= sdf.format(co.getData_nascimento());*/
    
  String SQL =("INSERT INTO usuario(nome, email, telefone) values ('"+u.getNome()+"','"+u.getEmail()+"','"+u.getTelefone()+"')");   
 
  try{
        stmt.executeUpdate(SQL);
        JOptionPane.showMessageDialog(null,"Usuário cadastrado com sucesso");   
 }
 catch(SQLException e){
     show("Erro SQL: "+e.getMessage());
 }
}
    
public void insert(claEmprestimo em) {
        String databanco; /*= sdf.format(co.getData_nascimento());*/
       /* String getData_devolucao = null;
        String getData_prevista_devolucao = null;
        String getObservacao = null;*/
    
  String SQL =("INSERT INTO emprestimo1(codigo_usuario, codigo_livro, data_retirada, data_prevista_devolucao, data_devolucao, observacao) values ('"+em.getCodigo_usuario()+"','"+em.getCodigo_livro()+"','"+em.getData_retirada()+"','"+em.getData_prevista_devolucao()+"','"+em.getData_devolucao()+"','"+em.getObservacao()+"')");   
 
  try{
        stmt.executeUpdate(SQL);
        JOptionPane.showMessageDialog(null,"Emprestimo cadastrado com sucesso");   
 }
 catch(SQLException e){
     show("Erro SQL: "+e.getMessage());
}
    
public ResultSet retormarDados(){ /*?*/
    String SQL = "Select * from emprestimo1";
    ResultSet resultado = null;
    try{
        resultado = stmt.executeQuery(SQL);
    }
    catch (SQLException e){
        JOptionPane.showMessageDialog(null, "Erro SQL:" +e.getMessage());
    }
    return(resultado);
}     

  public ResultSet procurarDados (claEmprestimo emprestimo){
    String SQL = "SELECT * FROM emprestimo1 WHERE codigo LIKE '%" + emprestimo.getCodigo_livro()+ "%'";
    ResultSet resultado = null;
    try{
        resultado = stmt.executeQuery(SQL);
    }
    catch(SQLException e){
        show("ERRO SQL: "+e.getMessage());
    }
    return resultado;
}
  
  public void deletar (Object codigo){
    String SQL = "DELETE FROM emprestimo1 WHERE codigo = '" + codigo + "'";
    try{
        stmt.executeUpdate(SQL);
        JOptionPane.showMessageDialog(null, "Deletado com sucesso");        
    }
    catch(SQLException e){
        show("Erro SQL: " + e.getMessage());
    }
}
  
  
  
  
  
  
    }  
        
}

Agradeço desde já pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu também estou iniciando, então o que vou falar talvez possa ser melhorado por alguém mais experiente (ou rebatido, por eu estar falando alguma besteira ahhahahahaha).

 

Mas, assim, eu vi algo estranho em algumas linhas, tipo:

 

String SQL =("INSERT INTO us (continua o código)

Esse parênteses aí me parece estar sobrando.

 

Outra coisa é uma dica que me passaram. Não use o concatenador para expressões SQL. Porque, assim, dependendo da forma que o código está escrito, alguém mal intencionado poderia colocar uma expressão SQL no campo (de pesquisa, por exemplo) e cair suas tabelas. Para evitar isso, use o PreparedStatement.

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×