Retirei a maskara do campo e apos isso gerava o erro: "22 Anos' is not a valid integer value for field `idade'
Então alterei o campo idade do banco para receber texto. Desta forma conseguir resolver a questão da data. O problema agora seria deixar uma alternativa mais amigável para o usuário selecionar a data de nascimento: estava pensando em usar o DateTimePicker1 o campo atual e um DBedit, alguém saberia como usar este componente de forma que grave também no banco a data selecionada? Agradeço!! Segue o codigo, agora funcionando procedure TfrmCadAluno.btnSalvarClick(Sender: TObject); var DataNasc: TDateTime; begin // if EditNome.Text = '' then begin Application.MessageBox(PAnsiChar('Por Favor Informe o nome do Aluno!'),'Atenção',MB_OK+ MB_ICONINFORMATION); EditNome.SetFocus; exit; end; if EditDataNascimento.Text = '' then begin Application.MessageBox(PAnsiChar('Por Favor Informe a Data de Nascimento do Aluno!'),'Atenção',MB_OK+ MB_ICONINFORMATION); EditDataNascimento.SetFocus; exit; end; // try //EditIdade recebe a idade - EditDataNascimento - digita a data EditIdade.text := floattostr( int((date - strtodate (EditDataNascimento.text)) / 365)) + ' Anos'; QAluno.Post; btnNovo.Enabled:=True; except on e:exception do begin // caso ocorra algum erro mostra esta informação MessageDlg('Erro abrindo Banco de Dados - QAluno. Mensagem: '+e.Message, mtError, [mbOk],0); exit; end; end; end;