Insert INTO com Data

Firebird

14/07/2005

Pessoal, estou com duas duvidas em relação a datas:

1- O formato TimeStamp não armazena os ´segundos´ no horário? Será que vou ter que criar um campo Date e outro Time para conseguir armazenar os segundos?
2- Acesso o BD via ADO e estou tentando fazer o seguinte INSERT:
Insert INTO LOGS 
(TAG, TRANSAC_TP, NAME_USER, GR_USER, VM_ID, TRANSAC_ID, PROD_ID, SEQT_CARD, RFU, TRANSAC_VL, CARD_ID, SALDO_INI, CRC, HW_SERIE, TRANSAC_DH, VALID_CRC) 
Values 
(226, 237, ´ADJUST_SER´, ´#0´, 3, 141, 0, 0, 0, 0, 999999000, 0, 2897265857, ´71B849C1000000E4´, 2005-07-17 14:20:03, 0)

O erro é sempre ´Access Violation in msado15dll´.
Os tipos dos campos são:
TAG        = SMALLINT
TRANSAC_TP = SMALLINT
NAME_USER  = VARCHAR
GR_USER    = CHAR
VM_ID      = SMALLINT
TRANSAC_ID = INTEGER
PROD_ID    = SMALLINT
SEQT_CARD  = INTEGER
RFU        = INTEGER
TRANSAC_VL = INTEGER
CARD_ID    = BIGINT
SALDO_INI  = INTEGER
CRC        = BIGINT
HW_SERIE   = VARCHAR
TRANSAC_DH = TIMESTAMP
VALID_CRC  = CHAR


Alguém sabe me ajudar a encontrar o erro que estou cometendo neste insert?

Valeu
rtava


Rtava

Rtava

Curtidas 0

Respostas

Sremulador

Sremulador

14/07/2005

utiliza um campo time para armazenar os segundos...


GOSTEI 0
Rtava

Rtava

14/07/2005

E quanto ao problema do ´Insert INTO´ no código que passei? Há algum problema?

Valeu!


GOSTEI 0
Reginaldo174

Reginaldo174

14/07/2005

[quote:956f47b60a]O erro é sempre ´Access Violation in msado15dll´.


aparentemente o erro é no drive ODBC. vc pode testar o insert direto no banco de dados com um console.


GOSTEI 0
Afarias

Afarias

14/07/2005

Campos TIMESTAMP (assim como TIME) não só armazenam os segundos como tb os milisegundos.


O problema é q no insert o valor deve estar entre aspas-simples como uma string (e não esse # ai), de forma q o correto seria:

´2005-07-17 14:20:03´


T+


GOSTEI 0
Rtava

Rtava

14/07/2005

Olá Afarias... perguntei do armazenamento de segundos, pois estou visualizando a tabela diretamente no IBExpert e os segundos não estão aparecendo. Mesmo formatando a data e hora que serão gravados e incluindo os segundos, não grava (ou não é mostrado) na visualização através do IDExpert.

Como faço para gravar os segundos num campo TIMESTAMP?

grato
rtava


GOSTEI 0
Afarias

Afarias

14/07/2005

Pra gravar os segundos vc faz como já citei, o ´problema´ é q o IBExpert está formatando para mostrar apenas hora e minuto, é uma questão de formatação e não do q está realmente armazenado no banco.

Para mudar isto no IBExpert vá no menu ´Options->Enviroment Options´ então escolha o grupo ´Grid->Display Formats´

Altere a opção ´Date Time Fields´ para dd.mm.yyyy hh:mm:ss

(ou o q preferir)


T+


GOSTEI 0
Rtava

Rtava

14/07/2005

OK! Valeu pela dica Afarias...

rtava


GOSTEI 0
POSTAR