Pablo.Softgraf Posted November 21, 2017 Report Share Posted November 21, 2017 Senhores, boa noite ! Estou tentando criar um campo do tipo DATE através do DbCreate, conforme abaixo : aStruct := {} aStruct := temp->(dbStruct()) aadd( aStruct , {'DTVCTO','D',8,0} ) aadd( aStruct , {'CODCLI','C',8,0} ) aadd( aStruct , {'NUMDOC','N',6,0} ) aadd( aStruct , {'NUMDUP','N',6,0} ) aadd( aStruct , {'DESDOB','C',2,0} ) aadd( aStruct , {'STATUS','C',1,0} ) aadd( aStruct , {'CODBANCO','C',5,0} ) aadd( aStruct , {'NUMCH','N',6,0} ) aadd( aStruct , {'VALORCOB','N',12,2} ) aadd( aStruct , {'OBS','C',40,0} ) select 0 dbCreate('##krfxm' , aStruct) //use wArq alias 'crecpag' exclusive begin sequence if !net_use('##krfxm',.T.,.F.,'crecpag') break endif index on dtos(dtvcto) + codbanco + codcli to &wInd. index on codbanco to &wInd2. set index to &wInd., &wInd2. end ele gera está gerando um erro no campo DATE , por que foi criado como DATETIME na base de dados, como criá-lo com DATE apenas ? Segue o error.log desde já agradeço a todos. error.log Quote Link to comment Share on other sites More sharing options...
joaosolution Posted November 22, 2017 Report Share Posted November 22, 2017 Pablo O RDD gera automaticamente datetime, para alterar isso vc terá que criar as tabelas manualmente usando create table do sql. Utilizo os campos datetime sem problema e converto as datas sem considerar o time. Function DateToSQL(dDate) Local cRet :="" cRet:= "'"+Alltrim(StrZero(Year(dDate),4))+"-"+Alltrim(StrZero(Month(dDate),2))+"-"+Alltrim(StrZero(Day(dDate),2))+"'" If Empty(dDate) cRet:= "0000-00-00" Endif Return cRet Att João Bosco Quote Link to comment Share on other sites More sharing options...
Pablo.Softgraf Posted November 22, 2017 Author Report Share Posted November 22, 2017 João , bom dia, primeiramente, muito obrigado pela sua ajuda ! Sabe uma coisa que acho muito estranho, na rotina do Kleyber ele copia a estrutura de outras tabelas, e cria com perfeição o Date , se voce mostra com o SR_ShowVector, é exatamente como estou criando, mas alguma coisa internamente ele deve passar na criação da tabela, senão me engano na rotina DBF2SQL ele usa o DBCreate ... posso criar com o create table, é uma tabela temporaria mesmo , mas estava copiando a estrutura de outras tabelas e adicionando campos. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.