JAVA: Receber input de uma data para comparar com uma data numa tabela SQL

DavidSalgueiro

Power Member
Boa noite,

Estou a desenvolver uma aplicação cliente-servidor, para uma cadeira, em JAVA RMI, a aplicação pretende reservar espaços: salas, auditórios, etc numa institução de ensino superior. Tenho tudo praticamente feito, ou assim me parece, mas não consigo testar porque não estou a conseguir encontrar uma forma de inserir a data ou seja, por ex:

- Verificar se um espaço está ocupado numa data:
Ideia? - dar a data pela consola como string, fazer o seu parse para time ou timestamp ou date, usando java.sql.* , guardá-la no formato timestamp, date, ou time, dependendo do que é, e fazer então uma query. Acontece que já testei com estes 3 formatos e em todos dá me um erro do género:

java.sql.SQLException: ERROR: syntax error at or near ":" at character 118

Primeiro tentei só com timestamp, tinha apenas um campo 'data timestamp,' na BD deste tipo também, o timestamp, guarda dados do tipo '2014-04-18 22:25:00' e não consegui porque quando chegava às horas dava-me esse erro. Depois tentei desmultiplicar, modifiquei a bd, na minha tabela 'reservas' e meti: 'data date,' ; 'hora_inicio time'; 'hora_fim time,' e na aplicação modifiquei o código de modo a que este, na verificação, perguntasse a data e as horas separadamente, lendo as como string e fazendo parse para java.sql.Time e java.sql.Date respetivamente. Mas dá-me o mesmo erro, quando chega à parte de ler a hora e fazer a query a aplicação servidor retorna-me este erro novamente:

java.sql.SQLException: ERROR: syntax error at or near ":" at character 118

Alguém me pode dar uma ajudinha?
 
é assim esse erro dá porque a tua query esta mal feita, isto é tem erros na sua syntax.
era mais facil colocares aqui a query para o pessoal te dar uma ajuda
 
será que a data na query está entre plicas? como disseram é melhor pôr a linha de código que faz a query, ou pelo menos parcialmente.
 
Sugiro que uses preparedStatements. Ficas protegido contra sqlInjection e não erras tão facilmente ao contruir a query.
Tal como disse o barricas, devem estar a faltar plicas na data.
 
Back
Topo