-
Total de itens
6 -
Registro em
-
Última visita
Posts postados por Teixeiraa
-
-
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? -
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 -
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??
-
Obrigado Denis, sua lógica me ajudou a resolver o problema.
-
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??
Null Pointer Exception
em Java
Postado · Editado por Teixeiraa
Se alguém já passou por esse problema ou sabe como posso resolve-lo me ajude!