logoLog da Selva


Setando data no PreparedStatement

Escrito em Java por Rodrigo Fournier em 26 de Agosto de 2008

Mais um post sobre Java, esse também sobre datas, e mais uma vez sobre algo que me gerou dúvida, que procurei na web e que não vi nada que me agradasse, ou servisse exatamente para o que eu queria, por isso quando acontece esse tipo de coisa, acho que é válido postar dicas aqui pois pode vir a ser dúvida de outras pessoas também. O projeto que estou escalado, está pra ir pro ar em pouco tempo, e a galera aqui deixou sobre minha tutela substituir algumas partes essências do projeto que estavam usando o objeto Statement para fazer Inserts, Uploads e Delets, pelo PreparedStatement, aliás me pediram isso com certa urgência. Por que da urgência? O PreparedStatement previne a famosa injeção de SQL, um mal que pode causar diversos problemas para o sistema, não entrarei em detalhes, coisa que o Statement não faz. Feito isso, um problema surgiu. A galera aqui desenvolveu um método para tratar datas diretamente para o Oracle usando o comando to_date. o que facilita muito em alguns casos, mas esse método gera uma string, e como pro PreparedStatement basta você colocar um interrogação(?) no lugar que você quer que entre o comando a ser passado para a query, e depois informar o tipo para ele que ele se encarrega do resto, quando era usado o setString para o retorno do método usado, ele colocava tudo entre aspas simples, mais ou menos assim ‘to_date(’26/08/08′, ‘dd/mm/yyyy’)', isso gerava um erro na hora de executar esse sql, foi ai que fiquei sem saber o que fazer. Depois de muito pesquisar e de consultar alguns amigos do trampo, conseguimos chegar a um denominador comum. Setamos direto no PreparedStatement o tipo data (SetDate), e usamoso new Date passando para este método a data em TimeInMillis. Complicou?? Mostrarei o código.

pstmt.setDate(posicao, new Date(data.getTimeInMillis()));

Esse código passa para o banco a data com o formato correto, e Graças a Deus resolveu meu problema. :)

IETester

Escrito em Dicas, Utilitários, Internet por Tiago Guedes em 14 de Agosto de 2008

Trago boas novas para aqueles que precisam testar suas páginas no maior “mal necessário” dos programadores web, para quem não entendeu ainda, estou me referindo ao Internet Explorer 6 !

Esqueçam o Virtual Pc !! Fuçando na net encontrei um software muito bom que simula várias versões do IE (do 5.5 ao 8 beta), o que me interessou muito, não deixem de conferir:

IETester, segue o link para download abaixo:

http://baixaki.ig.com.br/download/IETester.htm

Quer burlar os captchas do RapidShare?

Escrito em Descontração por Luã de Souza em 14 de Agosto de 2008

Vem aí os novos captchas do RapidShare:

Captchas RapidShare

Via email :D

Jandira Feghali e o web calote

Escrito em Aleatórios, Opinião, Internet por Luã de Souza em 12 de Agosto de 2008

Pra quem vota no rio, tá aí um bom motivo pra não votar em alguém.

Jandira Caloteira

Dar calote em quem faz o site não é legal, viu, dona prefeita? Eu teria feito o mesmo, senão pior.

Via twitter (@pathaddad) e Diário do Rio.

Fim do PHP 4 - Vai tarde!

Escrito em PHP por Luã de Souza em 08 de Agosto de 2008

Hoje saiu o último release do PHP 4, o 4.4.9. De agora em diante só o PHP 5 terá suporte, então, se você usa o PHP 4, considere sobre fazer um upgrade (finalmente).

Gostaria de expressar minha ENORME felicidade com essa notícia, espero que agora abandonem de vez essa versão que é mais velha que eu. Vai tarde, PHP 4.

A propósito, semana passada foi lançada a versão alpha1 do PHP 5.3, que ainda não está pronta para uso em produção.

Go PHP 5 !

Diferença entre datas no JAVA

Escrito em Java por Rodrigo Fournier em 01 de Agosto de 2008

Bom galera, estava a um longo período de tempo sem postar aqui no blog, e pra falar a verdade desde que postei a última vez aqui muita coisa em minha vida mudou. Mudei de emprego, estou quase me formando, e hoje em dia deixei de trabalhar com ASP e PHP, e estou trabalhando com JAVA. Agora vamos ao que interessa, o tema do post…
Há algum tempo atrás tive que fazer um método para calcular a diferença de dias entre duas datas no JAVA, caçei no google alguns tutorias, e o que mais me agradou e me pareceu mais coerente, peguei fiz alguns ajustes e coloquei pra funcionar. Estranho, pois esse tipo de coisa é algo muito útil mas você só se dá conta disso quando precisa utilizar, e percebe que na web fica difícil achar algo semelhante, por isso resolvi postar aqui no blog minha solução.
Na verdade, o grande motivo pra mim estar aqui postando, é que um amigo aqui do trabalho outro dia precisou da mesma coisa, e fez uma solução genial pra resolver isso. A baixo colocarei minha versão do código, e a versão desse amigo, que com apenas 3 linhas de código (ele levou a sério o conceito do “KISS”), conseguiu fazer de meu código bricadeirinha, portanto, o crédito é todo seu paulista.

Minha versão:

public String calculaDiferencaDias(String data, String codProduto) {

DateFormat df = null;
Date d1 = null;
Date today = null;
long diff = 0;
String numDias = “”;
String retorno = “”;

try {
df = new SimpleDateFormat(”dd/MM/yyyy”);
d1 = (Date) df.parse(data);
} catch (ParseException ex) {
Logger.getLogger(ImportacaoComposicao.class.getName()).log(Level.SEVERE, null, ex);
}

today = new Date();
diff = d1.getTime() - today.getTime();
diff = diff / (1000 * 60 * 60 * 24);
numDias = String.valueOf(diff);
retorno = this.CarregarDados(numDias, codProduto);

return retorno;
}

A versão do meu amigo(Paulista):

public static int diferencaEmDias(Calendar data1, Calendar data2) {
long m1 = data1.getTimeInMillis();
long m2 = data2.getTimeInMillis();
return (int) ((m1 - m2) / (24*60*60*1000));
}