Ir para conteúdo
Fórum Script Brasil

Teixeiraa

Membros
  • Total de itens

    6
  • Registro em

  • Última visita

Sobre Teixeiraa

Teixeiraa's Achievements

0

Reputação

  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: 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. Teixeiraa

    Multiplas junções

    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. Obrigado Denis, sua lógica me ajudou a resolver o problema.
  6. 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...