Jump to content
Fivewin Brasil

SQLRDD x DbCreate x SQL SERVER


Pablo.Softgraf

Recommended Posts

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...