TRABALHANDO COM DATAS

FILIPEBSANTOS 21/04/2010 14:57:48
#339859
Boa tarde galera!


Estou com uma duvida que n acho resposta satisfatoria nem no google!

Como faço para formatar datas e salva-las no Firebird? Pois vou precisar fazer pesquisas com datas e preciso q a data estaja salva com o tipo correto no bd.
CLEVERTON 21/04/2010 15:03:23
#339860
para salvar...
rs!data = Format(txtData, [Ô]mm/dd/yyyy[Ô])
FILIPEBSANTOS 21/04/2010 15:16:27
#339861
Dessa forma eu usaria quando o a data já está salva no db e eu quero apenas formatar certo?

No meu caso é o seguinte, o usuario entra com a data formatado por uma MaskEdit Box com a mascara 99/99/9999

eu teria q fazer

Dim Data As Date

Data = Format(txtNasc, [Ô]mm/dd/yyyy[Ô])

é isso?

Pq se for assim n deu certo.
MOREIRA 21/04/2010 15:21:55
#339862
format(txtData),[Ô]yyyy-mm-dd[Ô]) apenas isso...

tem q ser assim

isso se seu campo estive como date
FILIPEBSANTOS 21/04/2010 23:20:26
#339887
Citação:

:
format(txtData),[Ô]yyyy-mm-dd[Ô]) apenas isso...

tem q ser assim

isso se seu campo estive como date



Fiz assim:

Mudei o a MaskEdit Box para TextBox e fiz assim:

Dim Data As Date

Data = Format(txtNasc.Text, [Ô]yyyy-mm-dd[Ô])

e quando executo ele retorna o seguinte erro:

MOREIRA 21/04/2010 23:31:25
#339888
eu uso assim...

SQL = SQL & [Ô][ô][Ô] & Format(TxtData_Orcamento.Text, [Ô]yyyy/mm/dd[Ô]) & [Ô][ô],[Ô]
WILLVIDAL 22/04/2010 00:08:45
#339889
Eu faço o seguinte, criei uma função pra converter num formato q o firebird aceita:

Public Function DATEAR(ByVal datas As Date) As String
DATEAR = Format(datas, [Ô]dd.mm.yyyy[Ô])
End Function

e quando eu vou passar pro bd, simplesmente ficaria:
rs!data = datear(txtData.text)

é claro q antes disso é bom validar pra ver se a data esta certa neh...
FILIPEBSANTOS 22/04/2010 01:36:52
#339892
Pessoal, eu ja entendi como usar o format, mas o que ta me encucando é essa linha:

rs!data = datear(txtData.text)
rs!data = Format(txtData, [Ô]mm/dd/yyyy[Ô])

pois eu usava o INSERT INTO TABELA e para o campo DATA_DE_NASCIMENTO o valor era [ô][Ô] & Data & [Ô][ô] (Data = Format(txtNasc.Text, [Ô]yyyy-mm-dd[Ô])))

MAs eu n sei como faco pra inserir o DB da forma q vcs estão explicando.


MOREIRA 22/04/2010 02:02:35
#339894
na hora de gravar os Dados, vc esta deixando esse campo data de nascimento em branco no form....
EDERMIR 22/04/2010 08:20:42
#339901
Tem mais uma coisa que você precisa fazer no FIREBIRD.

A DATA deve estar entre ASPAS SIMPLES. Então:
rs!data = [Ô][ô][Ô] & Format(txtNasc.Text, [Ô]yyyy-mm-dd[Ô]) & [Ô][ô][Ô]

Extamante como o MOREIRA descreveu em sua utilização.
WILLVIDAL 22/04/2010 09:26:51
#339904
Resposta escolhida
Filipe, do jeito q eu falei é só fazer assim:

conexão.execute [Ô]insert into clientes(codigo,nascimento) values([ô]001[ô],[ô] [Ô] & datear(txnascimento.text) & [Ô] [ô] )[Ô]

o campo data sempre dentro de aspas simples, vamos dizer que vc digitou no campo txnascimento a data 20/03/2001,
quando vc converter ela vai entrar no banco como 20.03.2001 que é o jeito que o firebird aceita
[Ô]insert into clientes(codigo,nascimento) values([ô]001[ô],[ô]20.03.2001[ô] )[Ô]
Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas