cara nao seria melhor tratar isso la no banco mesmo.
setando como o parametro do preparedStatement um Timestamp.
ja ja te posto um exemplo disso!
V
vinucho
fico aguardando o seu exemplo.
Vinicius.
sudeval
trata a tua data la no VIEW como um objeto Date();
digamos que eu tenha uma tabela Pessoa: campos:
idPessoa
nomePessoa
nascimento
Ex.:
Stringsql="INSERT INTO Pessoa VALUES (1,'Vinucho',?)";PreparedStatementps=conn.prepareStatement(sql);ps.setTimestamp(1,newjava.sql.Timestamp(nascimento.getTime()));
ps: nascimento é um Date(), digamos que ele veio como parametro no metodo inserirPessoa(Integer id,String nome,Date data) por exemplo.
com isso o preparedStatement vai cuidar de deixar tua data da forma que o banco usa.( seja qual for o banco)
espero ter ajudado!!!
sudeval
se tu achar que vai ficar complicado de fazer com o teu sistema, o exemplo do juliano seria minha outra dica, aqui eu uso isso, pq no sistema agente us uns adaptor no model, ae ele ja retorna o valor em Date.
nao sei como que esta ae !
V
vinucho
Consegui transformar, o que está dando errado agora acho q é no mysql, mas acho que está correto, olhem:
publicStringfindTotal1(Stringinicio,Stringfim)throwsException{
Connectionconn=null;Statementst=null;ResultSetrs=null;try{conn=Pool.getConnection();st=conn.createStatement();rs=st.executeQuery("SELECT REPLACE(SUM(REPLACE(valor, ',', '.')), '.', ',') total FROM Despesa WHERE data BETWEEN '"+inicio+"' AND '"+fim+"'");if(rs.next())returnrs.getString("total")==null?"0,00":rs.getString("total");}finally{
Util.freeResources(newObject[]{conn,st,rs});}
return"0,00";}
sudeval
qual erro que esta dando ?
st.executeQuery("SELECT REPLACE(SUM(REPLACE(valor, ',', '.')), '.', ',' total FROM Despesa WHERE data BETWEEN '"+inicio+"' AND '"+fim+"'");