Inserir data do PC no Banco de Dados

4 respostas
maxsantos

Estou criando um projeto de Estacionamento em java web, e dentro desse projeto, um dos cadastros que estou realizando é de controle (data, horaEntrada, horaSaida, valorHora, tempoPermanencia, valorTotal), sendo que dentro de controle quero cadastrar no banco de dados(mysql) a hora atual (hora do PC), como faço isso ?

4 Respostas

blackout

Como o banco é mysql, coloca “NOW()” no parametro da hora dentro do sql de insert.

thiago.correa

Ou se não quiser ficar amarrado ao BD você pode fazer o seguinte

Date d = new Date();//pega a hora atual PreparedStatement ps = con.prepareStatement("insert into tabela (data) values (?)"); ps.setDate(1, new java.sql.Date(d.getTime())); ps.execute();

maxsantos

Não consegui, Neste meu caso como faço ?

[b]public class ControleDAO {

public static Controle inserir(
        String data, String horaEntrada, String horaSaida,
        String valorHora, String valorTotal, String tempoPermanencia) {

    Controle controle = null;

    try {

        // Criação do insert
        String sql = "INSERT INTO controle"
                + "(data,horaEntrada,horaSaida,valorHora,"
                + "valorTotal,tempoPermanencia) "
                + "VALUES(?,?,?,?,?,?)";

        Conexao conex = new Conexao(
                "jdbc:mysql://localhost:3308/estacionamento",
                "com.mysql.jdbc.Driver", "root", "alunolab");
        Connection con = conex.obterConexao();

        PreparedStatement comando =
                con.prepareStatement(sql);

        comando.setString(1, data);
        comando.setString(2, horaEntrada);
        comando.setString(3, horaSaida);
        comando.setString(4, valorHora);
        comando.setString(5, valorTotal);
        comando.setString(6, tempoPermanencia);


        comando.executeUpdate();
    } catch (Exception e) {
        System.out.println(e.getMessage());
    }

    controle = new Controle(data, horaEntrada, horaSaida, valorHora,
            valorTotal, tempoPermanencia);

    return controle;
}

public static Controle buscarPorData(String data) {
    Controle controle = null;
    try {

        String sql = "Select * from controle where "
                + "data like '" + data + "'";
        Conexao conex = new Conexao(
                "jdbc:mysql://localhost:3308/estacionamento",
                "com.mysql.jdbc.Driver", "root", "alunolab");
        Connection con = conex.obterConexao();

        Statement comando = con.createStatement();

        ResultSet rs = comando.executeQuery(sql);

        if (rs.next()) {
            controle = new Controle(
                    rs.getString("data"),
                    rs.getString("horaEntrada"),
                    rs.getString("horaSaida"),
                    rs.getString("valorHora"),
                    rs.getString("valorTotal"),
                    rs.getString("tempoPermanencia"));
        }

        rs.close();
        comando.close();
        con.close();
    } catch (Exception e) {
        System.out.println(e.getMessage());
    }

    return controle;

}

public static Controle buscarTodos() {
    Controle controle = null;
    try {

        String sql = "Select * from controle ";
        Conexao conex = new Conexao(
                "jdbc:mysql://localhost:3308/estacionamento",
                "com.mysql.jdbc.Driver", "root", "alunolab");
        Connection con = conex.obterConexao();

        Statement comando = con.createStatement();

        ResultSet rs = comando.executeQuery(sql);

        if (rs.next()) {
            controle = new Controle(
                    rs.getString("data"),
                    rs.getString("horaEntrada"),
                    rs.getString("horaSaida"),
                    rs.getString("valorHora"),
                    rs.getString("valorTotal"),
                    rs.getString("tempoPermanencia"));
        }

        rs.close();
        comando.close();
        con.close();
    } catch (Exception e) {
        System.out.println(e.getMessage());
    }

    return controle;

}

}
[/b]

thiago.correa

Ah tá explicado, bom, eu sugiro que você crie um campo do tipo date (pois ele já armazena todas as informações), pois facilita na hora de manipulá-lo, ao invés de gravar os pedaços da data!
Mas respondendo a sua pergunta, para pegar os pedaços da data, utilize a classe Calendar

Calendar calendar = Calendar.getInstance();//pega hora atual
calendar.get(Calendar.DAY_OF_MONTH); //pega o dia do mês

para saber como pegar as outras “partes” da data, dê uma olhada na documentação.

Criado 19 de agosto de 2010
Ultima resposta 19 de ago. de 2010
Respostas 4
Participantes 3