Jump to content

Recommended Posts

Posted

Boas,

Preciso urgentemente de ajuda com o tipo de dados date. Eu quero inserir uma data numa base de dados através duma maskedtextbox, mas o problema é que o viual basic guarda "mês, dia, ano" ou seja, se o utilizador inserir esta data " 01-01-2012", o programa aceita, mas se inserir "13-01-2012", já não aceita pois não reconhece o mês 13...Ajuda por favor!

Cumprimentos

Posted (edited)

Boas _Marcelo,

o MaskedTextBox tem lá um campo Culture, tens pt-PT?

Porque não usas o DateTimePicker?

-- EDIT --

Já agora, o erro é ao inserir na base de dados ou na validação do campo?

Se for ao inserir na base de dados, tens de formatar corretamente antes de gravar

Edited by nelsonr
Posted

Boas nelson,

Não percebi a parte do culture, peço desculpa. Eu queria utilizar a MaskedTextBox mesmo, em vez do DateTimePicker...o erro é ao inserir, aparece um erro na conversão do tipo date de uma string. É este o erro " Conversion failed when converting date and/or time from character string."

Grato

P.S: Eu estou a usar o Visual Basic 2010, não sei se existe diferença.

Posted

Ok, então após o utilizador confirmar, pegas no campo e formatas corretamente no formato que a base de dados aceita (provavelmente MM/dd/yyyy).

Usa algo assim:

Dim dataAGravar as Date
If Date.TryParse(maskedtextbox.Text, dataAGravar) then
  '  A data está correcta. Na gravação, em vez do maskedtextbox usas dataAGravar.ToString("MM/dd/yyyy")

  ' ...

endif

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.