Boa tarde, estou fazendo uma consulta no banco de dados Oracle pelo PreparedStatement
, segue a classe de consulta:
package br.portalRadex.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import br.portalRadex.conexao.Conexao;
import br.portalRadex.modelo.Agentes;
public class AgentesDao {
public Agentes login(String nome, String senha) throws ClassNotFoundException, SQLException {
Connection con = new Conexao().getConnection();
Agentes agente = new Agentes();
PreparedStatement smt = con.prepareStatement(" select a.agn_in_codigo, "
+ " a.agn_st_nome, "
+ " a.agn_st_senha "
+ " from mgglo.glo_agentes a"
+ " where a.agn_st_nome = "
+ nome );
ResultSet resultSet = smt.executeQuery();
while (resultSet.next()) {
if (resultSet.getString("agn_st_nome").equals(nome) && resultSet.getString("agn_st_senha").equals(senha)) {
agente.setNome(resultSet.getString("agn_st_nome"));
agente.setCodigo(resultSet.getInt("agn_in_codigo"));
agente.setSenha(resultSet.getString("agn_st_senha"));
System.out.println("Seu nome de Usuario é: " + agente.getNome() + " e sua senha é: " + agente.getSenha());
Ele me retorna o Erro: ora-00933: comando sql não encerrado adequadamente
, extamente como se eu consultasse se em as aspas simples
como se faz consulta de String
no Oracle, o PreparedStatement
, nao deveria adicionar essas aspas automaticamente?
ate agora a unica forma que conseguir realizar a consulta foi dessa forma:
PreparedStatement smt = con.prepareStatement(" select a.agn_in_codigo, "
+ " a.agn_st_nome, "
+ " a.agn_st_senha "
+ " from mgglo.glo_agentes a"
+ " where a.agn_st_nome = "
+ "'" + nome + "'");
mas acho q isso é uma gambiarra né, se alguém puder me mostrar onde esta o erro agradeço.
Valeu galera.