Como inserir data no acces pelo java

1 resposta
jzaires

Bom dia a todos!

Estou tentando adicionar em um banco de dados access(que lixo) um dado do tipo Date.
Ou seja o usuario entra com a data e é adicionado no item data do banco.
Já utilizei topicos aqui do GUJ e nada.

package exercicio;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

import javax.swing.JOptionPane;

public class Exercicio01 {
	public static void main(String args[]) {

		try {
			String url = "jdbc:odbc:vinicius";
			String usuario = "";
			String senha = "";

			int codPedido = 0;
			int codCliente = 0;
			String desc = "";
			double valor = 0;

			codPedido = Integer.parseInt(JOptionPane
					.showInputDialog("Digite o código do pedido:"));
			codCliente = Integer.parseInt(JOptionPane
					.showInputDialog("Digite o código do cliente:"));
			desc = JOptionPane.showInputDialog("Digite a descrição do pedido:");
			valor = Double.parseDouble(JOptionPane
					.showInputDialog("Digite o valor do produto:"));

			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

			Connection conn;

			conn = DriverManager.getConnection(url, usuario, senha);

			Statement st = conn.createStatement();

			st
					.executeUpdate("INSERT INTO Pedidos (CodPedido, CodCli, Descricao, Valor, DataPedido) VALUES ("
							+ codPedido
							+ ","
							+ codCliente
							+ ",'"
							+ desc
							+ "',"
							+ valor + ",#01-01-2000#)");

			JOptionPane.showMessageDialog(null,
					"Operação realizada com sucesso.", "Mensagem",
					JOptionPane.INFORMATION_MESSAGE);

			st.close();
			conn.close();
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null, e.toString());
		}
	}

}

Como podem perceber, no dado que vai para o banco eu coloquei o valor sem ser o do usuário,ou seja um valor sem alteração dado por mim.
E no banco mudei o campo data para String(Texto no Access) para fazer esse POG e funfar.

Como posso fazer para adicionar o dado date do usuario no banco de dados access? :?:

1 Resposta

fabim

Retire todo esse codigo concatenado, e procure no forum ou no Google como usar PreparedStatement ao invés de Statement.
Ele possui métodos que facilitam a questão de qdo por aspas ou nao, e setar Datas. ex: preparedStatement.setTimestamp( int pos, Timestamp time )

Criado 25 de março de 2008
Ultima resposta 25 de mar. de 2008
Respostas 1
Participantes 2