Socorro!

2 respostas
D
Olá estou com o seguinte problema:





quando execulto essa instrucao( pesquisa=" SELECT  TO_CHAR(HORARIODATA, ´HH:MI:SS´), TIPOHORARIO FROM producao.ENTRASAI_FUN   WHERE (TO_DATE(HORARIODATA, ´DD/MM/YY´) = TO_DATE(SysDate,´DD/MM/YY´) AND MATRICULAFUNCIONARIO =  ´" + mat+ "´" ;


) ele da o sequinte erro Nome de coluna inválido





mas quando eu faço a sequinte alteração, do um Espaço depois da aspa simples no trecho AND MATRICULAFUNCIONARIO =  ´ " + mat+ "´" ;


ele não dar erro mas não retorna nada !





Obrigado

2 Respostas

F

Olá,



vc sempre deve usar ´ (aspas simples) quano o campo onde vc está inserindo é do tipo VARCHAR.

Não está retornando nada, provavelmente pq não há nada na tabela com este critério de pesquisa.

Dá uma olhada na Classe java.sql.PreparedStatement. Com ele vc não precisa se preocupar com as aspas nos VARCHAR.

L
Olá, Dark, essa mesma consulta em preparedStatement ficaria assim:





PreparedStatement prepStmt = objetoconnection.prepareStatement("SELECT TO_CHAR(HORARIODATA, ´HH:MI:SS´), TIPOHORARIO FROM producao.ENTRASAI_FUN WHERE (TO_DATE(HORARIODATA, ´DD/MM/YY´) = TO_DATE(SysDate,´DD/MM/YY´) AND MATRICULAFUNCIONARIO = ?");





prepStmt.setString(1,mat);


ResulSet rs = prepStmt.execute();





OBS: Não esqueça de fechar a preparedStament com o comando :


prepStmt.close();





Usando preparedStament a consulta fica mais legivel e também vc não vai pode se preocupar com aspas em dados do tipo VARCHAR, para dados do tipo numeric use prepStmt.setInt(ordem do dado na consulta em inteiro, variavel);





Atenciosamente,
Criado 24 de abril de 2003
Ultima resposta 7 de mai. de 2003
Respostas 2
Participantes 3