Ir ao conteúdo

CaioNeves

Membro Pleno
  • Posts

    48
  • Cadastrado em

  • Última visita

Tudo que CaioNeves postou

  1. Quero fazer uma validação de login, porém as consultas não estão dando certo com o PreparedStatement, já tentei usar vários métodos de retorno porém nenhum funciona. Método que faz o select para verificar public int logConfirm(String name, String pass){ String sql = "SELECT name, pass FROM accounts WHERE name = ? AND pass = MD5(?)"; Connection con = null; PreparedStatement stm = null; ResultSet rs = null; Login login = new Login(); try{ con = ConnectionFactory.getConnetion(); stm = con.prepareStatement(sql); stm.setString(1, name); stm.setString(2, pass); rs = stm.executeQuery(); if (rs.next()){ login.setName(rs.getString("name")); login.setPass(rs.getString("pass")); login.setValid(1); } else{ login.setValid(0); } } catch (Exception ex){ throw new RuntimeException(ex); } finally { ConnectionFactory.closeConnection(con, stm); } return login.getValid();} } Método de evento quando o usuário clica pra logar private void jButton1MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: try{ Login login = new Login(); MainScreen ms = new MainScreen(); String name = jTextFieldName.getText(); String pass = String.valueOf(jPasswordFieldPass.getPassword()); logControll.logConfirm(name, pass); if(login.getValid() == 1){ JOptionPane.showMessageDialog(rootPane, "You are logged in"); this.dispose(); ms.setVisible(true); } else { JOptionPane.showMessageDialog(rootPane, "Incorrect login or password!"); } } catch (Exception ex){ throw new RuntimeException(ex.getMessage()); } }
  2. Eaee, obrigado por responder. Então, eu uso o setString haha mas nem parei pra pensar q ele já coloca as aspas, mas agora já sei onde está o problema, obrigado mano, Deus abençoe
  3. Tô com um problema, quero fazer uma consulta no banco de dados porém os campos devem estar entre aspas, porém o PreparedStatement não aceita uma interrogação entre aspas simples, queria saber se tem outro jeito de fazer isso. String sql = "SELECT name, pass FROM accounts WHERE name = '?' AND pass = MD5'(?)'"
  4. Quero trazer as informações do banco de dados e setar nos JTextsFields, na seguinte ocasião: O usuário clica no botão de editar tarefa, ai abre uma janela para ele editar essa tarefa que ele clicou, ai eu quero que carregue as informações dessa tarefa nos JTextsFields para que ele altere o que deseja. Método da JDialog que edita as tarefas: public void loadInformation(){ String sql = "SELECT name, description, deadline, notes FROM tasks WHERE id = ?"; Connection con = null; PreparedStatement stm = null; ResultSet rs = null; try{ Task task = new Task(); con = ConnectionFactory.getConnetion(); stm = con.prepareStatement(sql); stm.setInt(1, task.getId()); rs = stm.executeQuery(); while(rs.next()){ jTextFieldName.setText(rs.getString("name")); jTextAreaDescription.setText(rs.getString("description")); jFormattedTextFieldDeadline.setText("deadline"); jTextAreaNotes.setText(rs.getString("notes")); } } catch (Exception ex){ throw new RuntimeException("Erro ao carregar dados da tarefa."); } finally { ConnectionFactory.closeConnection(con, stm, rs); } } Método que reconhece o clique do botão e abre a tela de editar: case 4: EditTaskDialogScreen EdittaskDialogScreen = new EditTaskDialogScreen(this, true); task.setId(task.getId()); EdittaskDialogScreen.setVisible(true); EdittaskDialogScreen.addWindowListener(new WindowAdapter() { public void windowClosed(WindowEvent e) { int projectIndex = jListProjects.getSelectedIndex(); Project project = (Project) projectsModel.get(projectIndex); loadTasks(project.getId()); } }); break;
  5. Pior que estão preenchidos mano, rodei no modo debug e apareceu certinho os valores, mas na hora de certar não está indo, e a data ela ta setando a data atual.
  6. public void editTask(){ Task task = new Task(); jTextFieldToolBarName.setText(task.getName()); jTextAreaToolBarDescription.setText(task.getDescription()); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); Date deadline = null; jFormattedTextFieldToolBarDeadline.setText(sdf.format(task.getDeadline())); jTextAreaToolBarNotes.setText(task.getNotes()); } Tava querendo carregar os dados de uma tarefa e setar eles nos campos da tela para que o usuário veja as informações e altere caso assim deseje. Mas só a data está sendo carregada pro TextField, e ela ainda está indo errada.
  7. @AdrianoSiqueira Oie, tinha esquecido de dar o execute kkkkkkk, valeu!
  8. Tô querendo alterar um campo booleano no banco de dados que está conectado a minha aplicação em Java, mas o valor não altera quando eu coloco true ou false. String sql = "UPDATE tasks SET Name = ?, " + "Description = ?, " + "Completed = ?, " + "CreatedDated = ?, " + "UpdateDate = ?, " + "Notes = ?, " + "DeadLine = ?, " + "idProject = ?, " + "WHERE ID = ?, "; Connection c = null; PreparedStatement statement = null; try { c = ConnectionFactory.getConnection(); statement = c.prepareStatement(sql); statement.setString(1, task.getName()); ///seta na declaracao um nome no campo 1. statement.setString(2, task.getDescription()); statement.setBoolean(3, task.isCompleted()); statement.setDate(4, new java.sql.Date (task.getCreatedDate().getTime())); statement.setDate(5, new java.sql.Date (task.getUpdateDate().getTime())); statement.setString(6, task.getNotes()); statement.setDate(7, new java.sql.Date (task.getDeadline().getTime())); statement.setInt(8, task.getIdProject()); statement.setInt(9, task.getId()); Aqui o getter e setter public boolean isCompleted() { return Completed; } public void setCompleted(boolean Completed) { this.Completed = Completed; } Aqui como estou tentando setar o valor para testar TaskController taskController = new TaskController(); ///cria um projeto. Task task = new Task(); ///coloca as informações desejadas. task.setId(4); task.setIdProject(2); task.setCompleted(true); task.isCompleted(); ///chama o controlador para salvar o projeto. taskController.update(task); Na verdade testando aqui, vi que nada atualiza, não so o campo booleano.
  9. O trecho de código está igual de um outro projeto mas o outro funciona e esse não. Obviamente mudei ali o nome do projeto. package conexao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; public class ConnectionFactory { public static final String DRIVER = "com.mysql.jdbc.Driver"; public static final String URL = "jdbc:mysql://localhost:3306/testeprojeto"; public static final String USER = "root"; public static final String PASS = ""; public static Connection getConnection(){ try { Class.forName(DRIVER); return DriverManager.getConnection(URL, USER, PASS); } catch (Exception ex) { throw new RuntimeException ("Erro ao conectar ao banco de dados.", ex); } } O erra é esse: Exception in thread "main" java.lang.RuntimeException: Erro ao conectar ao banco de dados. at conexao.ConnectionFactory.getConnection(ConnectionFactory.java:21) at controladores.ProjectController.save(ProjectController.java:26) at TesteProjeto.App.main(App.java:15) Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at conexao.ConnectionFactory.getConnection(ConnectionFactory.java:18) ... 2 more
  10. package util; import java.sql.Connection; import java.sql.DriverManager; public class ConnectionFactory { public static final String DRIVER = "com.mysql.jdbc.Driver"; ///aplicativo usado public static final String URL = "jdbc::mysql://localhost:3306/todoist"; ///<dependencia><app><localdatabase><porta><nomedatabase> public static final String USER = "root"; ///usuario do mysql public static final String Pass = ""; ///senha do mysql public static Connection getConnection(){ ///static e q n precisa instanciar o objeto pra chamar o metodo. try { ///serve pra tentar realizar um trecho de codigo. Class.forName(DRIVER); ///nome do aplicativo usado ou qual driver sera utilizado. return DriverManager.getConnection(URL, USER, Pass); ///DriverManager é uma classe. ///getConnection e o metodo dessa classe, um metodo estatico que solicita uma conexao. } catch (Exception ex) { ///caso de errado, o metodo sabe o que fazer. throw new RuntimeException("Erro na conexao com o banco de dados", ex); } public static void closeConnection(Connection connection) { ///da erro aqui, "illegal star of expression" try { if (connection != null) { connection.close(); } } catch (Exception ex) { throw new RuntimeException("Erro ao fechar conexao com banco de dados", ex); } } }
  11. Opa, estou treinando orientação a objeto na linguagem Java. Estarei postando um código e gostaria que me dissessem no que eu posso melhorar. ///classe main package Exercicio7POO; public class App { public static void main(String[] args) { Funcionario f1 = new Funcionario ("Joao", "Emboabs", 1200); Funcionario f2 = new Funcionario ("Caio", "Nevs", 1300); System.out.println("Nome: " + f1.getPrimeiroNome() + "\nSobrenome: " + f1.getSobrenome() + "\nSalario anual: " + f1.salarioAnual()); System.out.println("Nome:" + f2.getPrimeiroNome() + "\nSobrenome: " + f2.getSobrenome() + "\nSalario anual: " + f2.salarioAnual()); System.out.println("Houve um aumento de 10%!"); System.out.println("Salario anual do " + f1.getPrimeiroNome() + ": " + f1.aumentoSalario()); System.out.println("Salario anual do " + f2.getPrimeiroNome() + ": " + f2.aumentoSalario()); } } ///classe objeto package Exercicio7POO; public class Funcionario { private String primeiroNome; private String sobrenome; private float salarioMensal; public Funcionario(String primeiroNome, String sobrenome, float salarioMensal) { this.primeiroNome = primeiroNome; this.sobrenome = sobrenome; this.salarioMensal = salarioMensal; } public float salarioAnual(){ return salarioMensal * 12; } public float aumentoSalario(){ return (salarioMensal * 12) / (0.1f * salarioMensal) + (salarioMensal * 12); } public String getPrimeiroNome() { return primeiroNome; } public void setPrimeiroNome(String primeiroNome) { this.primeiroNome = primeiroNome; } public String getSobrenome() { return sobrenome; } public void setSobrenome(String sobrenome) { this.sobrenome = sobrenome; } public float getSalarioMensal() { return salarioMensal; } public void setSalarioMensal(float salarioMensal) { this.salarioMensal = salarioMensal; } }
  12. @herbertbahia Mas por exemplo, ao invés de eu ficar criando um monte de getters e setters para acessar os atributos de outra classe, qual o problema de fazer isso na própria classe e o próprio método retornar um valor ou modificar os atributos? Vou mandar um trecho de código como exemplo. public void cadastrarProdutos() { System.out.println("Digite o numero do item faturado: "); numItemFaturado = leia.nextInt(); System.out.println("Digite o nome do item: "); descricaoItem = leia.next(); System.out.println("Digite a quantia comprada: "); qtdComprada = leia.nextInt(); System.out.println("Digite o preco do item comprado: "); precoItem = leia.nextInt(); } ///Por exemplo no próprio método eu leio os atributos da classe, sem usar o set.
  13. Fala galera, n sei se está certo mas eu tava pensando, não é extremamente necessário usar o getter e setter né? porque quando vou criar os métodos em outra classe, normalmente eu leio valores por lá e só retorno o valor final, e a classe principal normalmente vem com um menu somente, ou com algo pra chamar os métodos de outra classe.
  14. package ExercicioPOO2; import java.util.Scanner; public class App { public static void main(String[] args) { Conta c = new Conta(0, "", 0f, 0f, 0f); Scanner leia = new Scanner(System.in); int opcao; System.out.println("1- Ver saldo"); ///Na outra classe tem um método que mostra o saldo System.out.println("2- Depositar"); System.out.println("3- Sacar"); System.out.println("4- Trocar nome"); System.out.println("Escolha uma opcao: "); opcao = leia.nextInt(); switch (opcao) { ///esse switch n ta dando certo, aparece "not a statement" case 1: (c.verSaldo()); break; case 2: (c.depositar()); ///Na outra classe esse método pede para digitar o valor e lê o valor e imprime o novo saldo, da pra puxar tudo isso pra classe main ne? break; case 3: (c.sacar()); break; case 4: (c.alterarNome()); break; } } }
  15. package ExercicioPOO; public class App { public static void main(String[] args) { Pessoa p = new Pessoa("Joao", 2004, 1.60f, 17, 2018); ///Ao invés de eu setar valores aqui, eu ler os valores digitados, como faço? String name = p.getNome(); System.out.println("Nome: " + name); int nascimento = p.getDataNascimento(); System.out.println("Ano de nascimento: " + nascimento); int idade = p.getIdade(); System.out.println("Idade: " + idade); float altura = p.getAltura(); System.out.println("A altura e: " + altura); } }
  16. package Gradle; import java.util.Scanner; public class App { public static void main(String[] args) { Scanner leia = new Scanner(System.in); int idade; String nome; char masculino = 'M'; char feminino = 'F'; char sexo; System.out.print("Digite seu nome: "); nome = leia.next(); System.out.print("Digite seu sexo, M ou F: "); sexo = leia.next().charAt(0); System.out.print("Digite sua idade: "); idade = leia.nextInt(); if (idade >= 18) { if (sexo == masculino){ System.out.println("voce esta apto para servir"); /mas aqui no primeiro if vai normalmente } } else if (idade >=18){ if (sexo == feminino) { System.out.println("voce não esta apto para servir"); /aqui tambem não } else if (sexo == masculino) { if (idade < 18) { System.out.println("voce não esta apto para servir"); /Aqui não ta aparecendo na tela quando atende as condicoes } } } } }
  17. package Exercicio3; import java.util.Scanner; public class App { public static void main(String[] args) { Scanner leia = new Scanner(System.in); float cotacao, qtdReais; int dolar; System.out.println("Digite a cotacao do dolar"); cotacao = leia.nextFloat(); System.out.println("Digite a quantia de dolares para conversao"); dolar = leia.nextInt(); qtdReais = dolar * cotacao; System.out.printf("\nDe acordo com a cotacao atual voce possui %f", qtdReais, "de reais"); ///de reais não está aparecendo. } }
  18. package ExerciciosLogica; import java.util.Scanner; public class App { public static void main(String[] args) { Scanner ler = new Scanner(System.in); int a, b, c; {System.out.println("Informe o primeiro valor: "); a = ler.nextInt(); {System.out.println("Informe o segundo valor: "); b = ler.nextInt(); {System.out.printf("O valor e:", a, b, (a+b)); } } }}}
  19. @Simon Viegas KKK pois é, fui usando para se nem tinha vetor, tem algumas coisas bobas q a gente nem percebe kkkk, obrigado mano
  20. Algoritmo "semnome" tipo cadastroCliente = registro nome: caractere rg: caractere idade: inteiro fimregistro Var i: inteiro clientes : cadastroCliente opcao: caractere rgPesquisa: caractere Inicio repita escreval ("1- Cadastrar") escreval ("2- Pesquisar") escreval ("3- Sair") leia (opcao) se opcao = "1" entao para i de 1 ate 3 faca se clientes[i] = " " entao Escreval ("Digite seu nome: ") leia (clientes.nome) Escreval ("Digite seu rg: ") leia (clientes.rg) Escreval ("Digite sua idade: ") leia (clientes.idade) interrompa fimse fimpara senao se opcao = "2" entao Escreval ("Digite o RG: ") leia (rgPesquisa) para i de 1 ate 3 faca se clientes[i].rg = rgPesquisa entao escreval ("Cliente ", clientes[i].nome, " encontrado." interrompa fimse fimpara fimse ate opcao = "3" Fimalgoritmo
  21. select COUNT (p.id), c.nome from produtos p inner join categorias c on p.CATEGORIAID = c.ID group by p.CATEGORIAID O erro é este: select COUNT (p.id), c.nome from produtos p inner join categorias c on p.CATEGORIAID = c.ID group by p.CATEGORIAID LIMIT 0, 25 #1630 - FUNCTION testetreinamento.COUNT does not exist. Check the 'Function Name Parsing and Resolution' section in the Reference Manual
  22. @kgin Muito obrigado mano, to nessa parte de funções e procedimentos, é meio confuso hehe. Mas muito obrigado, tamo junto!
  23. Algoritmo "semnome" Var gabarito: vetor [1..10] de caractere menuOpcao, notaFinal: inteiro procedimento menuOpcao() inicio escreval ("1- Cadastrar gabarito") escreval ("2- Cadastrar prova") escreval ("3- Sair") leia (menuOpcao) fimprocedimento procedimento cadastrarGabarito(): caractere var i: inteiro inicio para i de 1 ate 10 faca escreval ("Digite o gabarito da questão", i) leia (gabarito[i]) fimpara fimprocedimento funcao cadastrarProva(): caractere var i, nota: inteiro resposta: caractere inicio nota <- 0 para i de 1 ate 10 faca escreval ("Digite a resposta da questão", i) leia (resposta) se resposta = gabarito[i] entao nota <- nota + 1 fimse retorne nota fimpara fimfuncao funcao verificarSituacao(): caractere inicio se nota >= 7 entao retorne ("Aprovado") senao retorne ("Reprovado") fimfuncao Inicio repita menuOpcao escolha menuOpcao caso 1 cadastrarGabarito() caso 2 notaFinal <- cadastrarProva escreval (verificarSituacao(notaFinal)) outrocaso escreval ("Opção inválida") ate menuOpcao = 3 Fimalgoritmo Alguém pode me ajudar? Qualquer opção que eu clico o caso 1 é executado.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!