Ir para conteúdo
Fórum Script Brasil

Teixeiraa

Membros
  • Total de itens

    6
  • Registro em

  • Última visita

Posts postados por Teixeiraa

  1. Fala galera.
    Não sei mais o que fazer no código.
    Estou tentando enviar para um banco de dados as informações passadas pelo usuário.
    Essa informações seriam:
    Filia; Nome Completo; Endereco e Cidade.
    Depois tentaria traze-las de volta do banco.
    Quando executo a JVM indica a exceção:

    Exception in thread "main" java.lang.NullPointerException

    at br.com.IgrejaViva.CadastraMembro.insert(CadastraMembro.java:60)
    at br.com.IgrejaViva.CadastraMembro.main(CadastraMembro.java:14)

    O código é esse:
    package br.com.IgrejaViva;
    
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.Scanner;
    
    public class CadastraMembro{
    
    
    	public static void main(String[] args) throws SQLException {
    		
    		insert();
    		
    		select();
    		
    	}
    	
    	public static void insert() throws SQLException{
    
    		@SuppressWarnings("resource")
    		Scanner scanner = new Scanner(System.in);
    		Membro membro = new Membro();
    		ConnectionDB con = new ConnectionDB();
    
    		System.out.println("Bem vindo ao sistema de cadastros");
    		System.out.println("Digite 1 para sair !");
    
    		int op = 0;
    		while (op != 1) {
    
    			System.out.println("Digite a Filial do Membro");
    			membro.setFilial(scanner.nextLine());
    
    			System.out.println("Digite o Nome completo");
    			membro.setNome(scanner.nextLine());
    
    			System.out.println("Digite o Endereço");
    			membro.setEndereco(scanner.nextLine());
    
    			System.out.println("Digite o Cidade");
    			membro.setCidade(scanner.nextLine());
    
    
    
    			/*System.out.println(membro.getCidade());
    				System.out.println(membro.getNome());
    				System.out.println(membro.getFilial());
    				System.out.println(membro.getEndereco());*/
    			if (op >= 2) {
    				
    				System.out.println("Digite apenas o numero 1 para sair");
    			}
    			else op = scanner.nextInt();
    		}
    
    		PreparedStatement query = con.prepareStatement("INSERT INTO Membro (filial, nomecompleto, endereco, cidade) VALUES (?, ?, ?, ?)");
    		query.setString(1, membro.getFilial()); // AQUI A JVM PARA A EXECUÇÃO
    		query.setString(2, membro.getNome());
    		query.setString(3, membro.getEndereco());
    		query.setString(4, membro.getCidade());
    		query.executeQuery();
    
    	}
    
    	public static ArrayList<Membro> select() throws SQLException{
    
    		ConnectionDB con = new ConnectionDB();
    		ArrayList<Membro> listaDeMembros = new ArrayList<Membro>();
    		Membro membro = new Membro();
    		
    		PreparedStatement query2 = con.prepareStatement("SELECT * from Membro");
    		ResultSet resultados = query2.executeQuery();
    		
    		while (resultados.next()) {
    			listaDeMembros.add(membro);
    			membro.setFilial(resultados.getString("filial"));
    			membro.setNome(resultados.getString("nomecompleto"));
    			membro.setEndereco(resultados.getString("endereco"));
    			membro.setCidade(resultados.getString("cidade"));
    
    		}
    		return listaDeMembros;
    	}
    }
    
    

    Se alguém já passou por esse problema ou sabe como posso resolve-lo me ajude!

  2. Boa noite galera, eu estou fazendo um programa javaweb que armazena e recupera dados de um banco de dados.
    Parei no seguinte problema, a o programa aparentemente não tem erro de sintaxe mas nada é enviado para e nada é recuperado do banco.
    public void Inserir(Solicitacao solicitacao) 
       throws ClassNotFoundException, SQLException
    {
    Class.forName("org.postgresql.Driver");
    Connection conexao = DriverManager.getConnection(
    "jdbc:postgresql://localhost:5432/aluno", 
    "postgres",
    "postgres");
    PreparedStatement query = conexao.prepareStatement(
    "INSERT INTO \"alunos\"(\"matricula\", \"nome\")  VALUES ( ?, ?)");
    query.setString(1, solicitacao.getMatricula());
    query.setString(2, solicitacao.getNome());
    query.executeQuery();
    
    }
    
    
    public List<Solicitacao> selecionar() throws ClassNotFoundException, SQLException
    {
    Class.forName("org.postgresql.Driver");
    Connection conexao = DriverManager.getConnection(
    "jdbc:postgresql://localhost:5432/aluno", 
    "postgres",
    "postgres");
    PreparedStatement query = conexao.prepareStatement(
    "SELECT \"matricula\", \"nome\" FROM \"alunos\"");
    
    ResultSet resultados = query.executeQuery();
    ArrayList<Solicitacao> solicitacoes = new ArrayList<Solicitacao>();
    while(resultados.next())
    {
    Solicitacao solicitacao = new Solicitacao();
    solicitacao.setMatricula(resultados.getString("matricula"));
    solicitacao.setNome(resultados.getString("nome"));
       solicitacoes.add(solicitacao);
    }
    return solicitacoes;
    
    Esses são os métodos usados na relação com o banco.
    Se houver algum erro no código me avisem.
    Se não houver erro, o que pode ser?
  3. Olá Denis, Nós usamos o PMB-PhpMyBibli (http://en.wikipedia.org/wiki/PhpMyBibli)
    Catalogamos livros, cd's e dvd's com atribuição de categorias, níveis e filial.
    A programação de pesquisas é toda feita em mysql no sistema.
    Eu perguntei aos mais antigos aqui e ninguém sabe onde tem a documentação do banco ou como foi feita a estrutura das tabelas.
    Eu fiz algo que em tese resolveria meu problema.
    SELECT n.tit1, n.year AS Ano, n.code AS ISBN, t.tdoc_libelle AS Mídia, i.indexint_name AS Nível,
    l.location_libelle AS Filial
    FROM (
    	SELECT t.tdoc_libelle, t.idtyp_doc, e.expl_typdoc, e.expl_location, l.location_libelle, l.idlocation
    	FROM exemplaires e 
            INNER JOIN docs_location l ON e.expl_location = l.idlocation
    	INNER JOIN docs_type t ON e.expl_typdoc = t.idtyp_doc
        	
    ) notices n
    INNER JOIN (
        SELECT i.indexint_name, i.indexint_id, n.indexint
        FROM indexint i
        INNER JOIN notices n ON i.indexint_id = n.indexint
        
    ) exemplaires e
    ON n.notice_id = e.expl_notice;
    
    Mas o mysql informa o seguinte erro:
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'n INNER JOIN ( SELECT i.indexint_name, i.indexint_id, n.indexint FROM in' at line 9
  4. Boa tarde amigos.

    Estou com um bom desafio.

    Preciso de uma luz em como fazer junção com 5 tabelas diferentes.

    Até agora eu fiz isso:

    SELECT n.tit1 AS Titulo, n.year AS Ano, n.code AS ISBN,
    n.indexint = 2 AS Nível,
    e.expl_typdoc = 27 AS Mídia,
    e.expl_location = 4 AS Filial
    FROM notices n
    INNER JOIN exemplaires e ON n.notice_id = e.expl_notice
    

    Os campos Nível, Mídia e Filial retornam valor 0.

    Descobri que cada um tem a sua própria tabela e que poderia utiliza-las.

    Os valores que preciso para essa pesquisa não estão nas tabelas utilizadas nessa query (notices e exemplaires).

    Qual é a melhor forma de fazer um join com essas 5 tabelas??

  5. Olá.

    Eu estou fazendo uma pesquisa no mysql, e selecionei exemplares que foram emprestados durante um certo período, filtrando por Filial e Níveis.

    Os níveis ficam na tabela I

    Os empréstimos na tabela P

    E as informações do livro ficam na tabela N ( onde também tenho o id dos níveis)

    Utilizei a seguinte query:

     
    SELECT (SELECT COUNT(n.id_I =1)) AS  'A1', (SELECT COUNT(n.id_I =2)) AS  'A2', (SELECT COUNT(n.id_I=4)) AS  'B1', (SELECT COUNT(n.id_I =5)) AS  'B2'
    FROM  P p
    INNER JOIN  N n ON n.id = p.id
    WHERE YEAR( p.datetime ) =  '2013'
    AND MONTH( p.datetime ) =  '10'
    AND p.local = 2
    
    Pelo pouco que entendo o resultado deveria ser a contagem de empréstimos em cada nível, no período e na filial determinada.

    Mas o resultado são valores iguais em cada nível.

    Alguém pode me esclarecer porque isso acontece??

×
×
  • Criar Novo...