Problemas com gravar datas no banco de dados

Galera…
Estou desenvoldendo um sistema de estoque em Java.
Utilizo o Interbase 6, e quando vou gravar a data por exemplo 30/07/2003, não é possível gravar.
Na verdade, o erro é devido porque o sistema na quando vai armazenar a data, o JDBC está considerando “30” como mês e não como dia, ou seja, ele está no padrão americano de data. Como resolver isto???

Obs. Isso só acontece quando faço através do JDBC. Já direto no interbase não tenho problema algum.

André

Trecho do codigo, please?

st.executeUpdate(“insert into COMPRAS (com_num,com_data,com_vltotal,for_codigo,com_finalizada) values (’”

  • Integer.parseInt(JTNumero.getText()) + “’,’”
  • JTData.getText() + “’,’”
  • Float.parseFloat(JTVlTotal.getText()) + “’,’”
  • CodFornecedor + “’,’”
  • finalizada + “’)”);

Este SQL está correto… o campo que tem a data é “JTData”.

Eu faço deste jeito, vê se te ajuda:

java.text.DateFormat data = new java.text.SimpleDateFormat("dd/MM/yyyy"); 
public String $Data = data.format(new java.util.Date()); 

JTextField txtData = new JTextField($Data);

Desta forma eu configuro o campo para ficar com a data no formato que desejo. Depois realizado o input no DB da mesma forma que vc fez

Até mais,

Cara,
Cria um SimpleDateFormat com a máscara dd/MM/yyyy e passa a data para ele, assim:

[code]…
SimpleDateFormat formatador = new SimpleDateFormat(“dd/MM/yyyy”);
st.executeUpdate(“insert into COMPRAS (com_num,com_data,com_vltotal,for_codigo,com_finalizada) values (’”

  • Integer.parseInt(JTNumero.getText()) + “’,’”
  • formatador.format(JTData.getText()) + “’,’”
  • Float.parseFloat(JTVlTotal.getText()) + “’,’”
  • CodFornecedor + “’,’”
  • finalizada + “’)”);
    …[/code]

Como esta mostrando, criei um SimpleDateFormat e formatei o campo JTData.getText() do jeito que eu desejo.
Vê se isso resolve…

Falow.

private SimpleDateFormat dtWriteFormat = new SimpleDateFormat(“yyyy-MM-dd”);

		Connection conn = conectaBd.getConeccao();
			PreparedStatement pStmt = conn.prepareStatement( qry ); 
			pStmt.setString(1, 	dtWriteFormat.format(new Date()));
			gravou = pStmt.executeUpdate();