Criei uma janela que tem uma data de nascimento .
Quando vou gravar no Mysql me retorna um erro.
Sei que o Textfield.Text uma String, agora como converto este textfield em data para gravar no campo de um registro no Mysql
coloquei assim no meu codigo:
Dim Vdata As New Date
//vdata.SQLDate=“2014-08-04” outra tentativa que fiz de teste e no deu certo
Dim vcerto As Boolean
Vcerto = ParseDate(Prnascimento,Vdata) Prnascimento uma propriedade do tipo string
linha.Column(“nascimento”)=vdata // campo da tabela clientes do tipo data no mysql
conn.InsertRecord(“clientes”, linha)
Me retorna um erro assim: parameters are not compatible with this function
Se algum puder ajudar agradeo.
Oi Cauby,
Quando vou gravar a data no banco (sqlite no meu caso), eu uso a ParseDate. Essa a funo que uso para receber um parmetro data e retornar no formato para gravar no banco:
[code] '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
’ ConverteData
’
’ Autor: Tiago Baciotti Moreira
’ Data : 9/dez/2013
’
’ Objetivo: Converte para formato data para gravaao no banco
'-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
dim d as date
if ParseDate(data, d) then
return d
else
Dim r As RuntimeException
r = New RuntimeException
r.ErrorNumber = -1
r.Message = “Erro na converso da data”
Raise r
end if
[/code]
E essa a funo que uso para validar se um valor est no formato data ou no:
[code] '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
’ ValidaData
’
’ Autor: Tiago Baciotti Moreira
’ Data : 22/12/2013
’
’ Objetivo: Verifica se a data est em um formato vlido.
'-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
dim d as date
if ParseDate(data, d) then
return true
else
return false
end if
[/code]
Tentei algo parecido e no deu certo vou colocar abaixo o codigo.
Prnome = Lnome
PrBairro = Lbairro
Prcelular=Lcelular
Prcep=Lcep
Prcidade=Lcidade
Prcnpj=Lcnpj
Prcodmun=Lcodmun
Premail=Lemail
Prendereco=Lendereco
Prfisicajuridica=Lfisicajuridica
Prinsc=LInsc
Prmasfem=Lmasfem
Prnascimento=Lnascimento
Prnumero=Lnumero
Prtelefone=Ltelefone
Prteltrab=Lteltrab
Pruf=Luf
Dim vdata As Date
//vdata = New Date
Dim linha As New DatabaseRecord
linha.Column(“nome”)=Prnome
linha.Column(“endereco”)=Prendereco
linha.Column(“numero”)=Prnumero
linha.Column(“bairro”)=PrBairro
linha.Column(“cod_mun”)=Prcodmun
linha.Column(“cidade”)=Prcidade
linha.Column(“uf”)=Pruf
linha.Column(“cep”)=Prcep
linha.Column(“fisica_juridica”)=Prfisicajuridica
'If ParseDate(Prnascimento,vdata) Then // aqui esta me retornado erro de compilao
’ linha.Column(“nascimento”)=vdata // Parameters are not compatible with this funcition
'End if
linha.Column(“ident_insc”)=Prinsc
linha.Column(“cpf_cnpj”)=Prcnpj
linha.Column(“telefone”)=Prtelefone
linha.Column(“celular”)=Prcelular
linha.Column(“tel_trab”)=Prteltrab
linha.Column(“email”)=Premail
linha.Column(“mas_fem”)=Prmasfem
conn.InsertRecord(“clientes”, linha)
if conn.Error Then
MsgBox "Erro na gravaao na tabela clientes " + conn.ErrorMessage
Return
End if
MsgBox “Registro gravado com Sucesso”
Consegui resolver.
No preciso converter em data para gravar no mysql eu tenho que passar com string mesmo s que a data tem que estar invertida.
linha.Column(“nascimento”)=“1969/04/11”
agora eu tenho outro problema como eu ainda no conheo a linguagem direito tenho que descobrir uma funo para eu inverter a string original.
String original “11/04/1969” tenho que inverter essa string para “1969/04/11”
Voc no quer isso, voc quer AAAA-MM-DD. E ela est pronta em date.SQLDate
Ola,
Podes fazer assim :
dim d as new Date
d.Day = 11
d.Month = 4
d.Year = 1969
dim linha as new DatabaseRecord
linha.DateColumn(“nascimento”)= d.SQLDate
Obrigado o date.SQLDate serve bem.
Obrigado a todos por me responderem