Problemas com a data

Bom dia a todos!

Utilizo o MYSQL e tenho um campo em minha tabela chamado periodoAno do tipo Date, nesse campo tem como eu gravar uma data do tipo: mm/yyyy ou seja
so mês e ano estou utilizando o JSF para minha aplicação. outra coisa, no codigo abaixo adicionei uma linha

  ps.setDate(2, new java.sql.Date(Calendar.getInstance().getTimeInMillis())); //é gerado uma data automaticamente

como faço para altera essa data do tipo exemplo: 07/2011 utilizando a opção acima é possível gravar uma data no banco utilizando apenas mm/yyyy?

código logo abaixo:


public class CursoDAO extends Conexao{
    
    public boolean adicionar(Aluno aluno) throws SQLException, ClassNotFoundException{
        
        PreparedStatement ps = getPrepareStatement("INSERT INTO curso VALUES(?,?)");
        ps.setString(1, aluno.getCurso().getNome());
        ps.setDate(2, new java.sql.Date(Calendar.getInstance().getTimeInMillis())); // pega a data do dia
        pegarID(aluno);
        con.close();
        return ps.execute();        
    }
    
    public void pegarID(Aluno aluno) throws SQLException, ClassNotFoundException{
        PreparedStatement ps = getPrepareStatement("SELECT codcurso WHERE nome = ?");
        ps.setString(1, aluno.getCurso().getNome());
        ResultSet rs = ps.executeQuery();
        if(rs.next()){
           aluno.getCurso().setCodigo(rs.getInt("codcurso"));
        }        
    }
    
    
    
    
}


---------------------------

public class AlunoDAO extends Conexao {   
             
    public boolean adicionar(Aluno aluno) throws SQLException, ClassNotFoundException{
        
        PreparedStatement ps = getPrepareStatement("INSERT INTO aluno VALUES(?,?,?,?,?,?,?,?,?)");
        ps.setString(1, aluno.getNome());
        ps.setString(2, aluno.getEndereco());
        ps.setString(3, aluno.getTelefone());
        ps.setString(4, aluno.getCidade());
        ps.setString(5, aluno.getEstado());
        ps.setString(6, aluno.getSenha());
        ps.setString(7, aluno.getEmail());
        ps.setString(8, aluno.getInstituicao());
        CursoDAO curso = new CursoDAO();
        curso.adicionar(aluno);
        ps.setInt(9, aluno.getCurso().getCodigo());        
        con.close();
        return ps.execute();        
        
    }
    
    public boolean alterar(Aluno aluno) throws SQLException, ClassNotFoundException{
        pegarID(aluno);                        
        PreparedStatement ps = con.prepareStatement("UPDATE aluno SET nome = ?,endereco = ?,telefone = ?,cidade = ?,estado = ?,email = ?,instituicao = ? WHERE idaluno = ?");
        ps.setString(1, aluno.getNome());
        ps.setString(2, aluno.getEndereco());
        ps.setString(3, aluno.getTelefone());
        ps.setString(4, aluno.getCidade());
        ps.setString(5, aluno.getEstado());
        ps.setString(6, aluno.getEmail());
        ps.setString(7, aluno.getInstituicao());
        ps.setString(8, aluno.getCurso().getNome());
        ps.setDate(9,aluno.getCurso().getAnoPeriodo());      
        con.close();
        return ps.execute(); 
    }

Eai blz?

Cara dá uma olhada na classe Calendar, é mais fácil de formatar data do que o Date, a única dificuldade que talvez você possa encontrar é a conversão de Date para Calendar, mas tem isso na apostila gratuita da Caelum (FJ-11).

abrs

[quote=cido18]Eai blz?

Cara dá uma olhada na classe Calendar, é mais fácil de formatar data do que o Date, a única dificuldade que talvez você possa encontrar é a conversão de Date para Calendar, mas tem isso na apostila gratuita da Caelum (FJ-11).

abrs[/quote]

No MAYSQL o tipo Date aceita somente mes e ano : 07/2011 por exemplo?, gravados nessa ordem?

Tenho uma aplicação onde o usuario irá digitar o periodo e ano no formato acima.

Desculpe o erro, não era a classe Calendar e sim SimpleDateFormat.