Problemas com select

4 respostas
V

Bom dia a todos,

Gostaria da ajuda de vcs com um probleminha que estou tendo.
Tenho um consulta sql um select para pegar um código, e esse código faz um filtro na minha clausula where.
Logo após dou um get nesse código. O tipo desse código é “int”, mas no meu form tenho que setar “String”.
Mas na minha consulta essa variável código esta vindo como null.
Segue a consulta: SELECT cod_gc, cod_gr, descr_gc FROM tblgerenteconta WHERE cod_gc =‘null’
Erro: sqlException: java.sql.SQLException: ORA-01722: invalid number

Deve ter um detalhe que estou deixando passar e não estou enxergando.

Desde já agradeço,

Vitor Bonfim

Para ajudar mais segue o DAO que fiz:

public List listaGC(String strGC){

List listarGC = new ArrayList();	  	

try{

System.out.println(Entrou ListaGC);

Connection con = getConnection();
//pstm = con.prepareStatement("SELECT uf, cidade FROM tblcidade WHERE uf ='" + strUF + "'");
			
			pstm = con.prepareStatement("SELECT cod_gc, cod_gr, descr_gc FROM tblgerenteconta WHERE cod_gc ='" + strGC + "'");
							
			System.out.println("Antes da query GC");
			System.out.println("SELECT cod_gc, cod_gr, descr_gc FROM tblgerenteconta WHERE cod_gc ='" + strGC + "'");
			rs = pstm.executeQuery();				
			System.out.println("Antes da query GC08j8j");
			while(rs.next()){
				
				CadGCVO cadGC = new CadGCVO();
				cadGC.setCodGC(rs.getInt("cod_gc"));
				System.out.println(rs.getInt("cod_gc"));
				cadGC.setCodGR(rs.getInt("cod_gr"));
				cadGC.setDescrGC(rs.getString("descr_gc"));
				System.out.println("Resultado do select de GC: " + (rs.getInt("cod_gc")));
									
				listarGC.add(cadGC);					
			};				
		
		System.out.println("Depois do While GC");	
			}      
		catch(java.sql.SQLException sqlException){
				System.out.println("sqlException: "+ sqlException);
			}
		catch(Exception e){
				System.out.println("Exception: "+ e);
		}
	//System.out.println("Listar GC");	
	return listarGC;
}

4 Respostas

brunoha

Até onde entendi, o parâmetro do método, strGC, está vindo nulo.
Ao passar para a query, ele monta a seguinte consulta:

SELECT cod_gc, cod_gr, descr_gc FROM tblgerenteconta WHERE cod_gc =‘NULL’

Ou seja, ele não reconhece NULL como um número válido.

Tenta, como teste, forçar um valor númerico no código, para ver se o erro persiste, e depois volte a versão original.

Andre_Fonseca

tente fazer

SELECT cod_gc, cod_gr, descr_gc FROM tblgerenteconta WHERE cod_gc =null

sem usar as aspas simples ao redor de null

Andre_Fonseca

pstm =
con.prepareStatement(“SELECT cod_gc, cod_gr, descr_gc FROM tblgerenteconta WHERE cod_gc =” + strGC);

V

Galera,

Muito obrigado, vlw mesmo!
Agora esta dando outro probleminha q tenho q analisar o q é primeiro, mas esse já esta resolvido.

Abs,

Vitor Bonfim

Criado 12 de março de 2008
Ultima resposta 12 de mar. de 2008
Respostas 4
Participantes 3