Clipper On Line • Ver Tópico - SQLRDD SR_ChangeStruct
Mudar para estilo Clássico
Discussão sobre Banco de Dados e RDDs para Clipper/[x]Harbour.
Postar uma resposta

SQLRDD SR_ChangeStruct

07 Set 2012 23:52

Leo ou algum colega q saiba...

Eu consigo alterar a estrutura das tabelas usando o SR_ChangeStruct, porém perco algum tempo, eu não estou conseguindo bolar uma forma de rodar o SR_ChangeStruct somente nas tabelas q tiveres estruturas diferentes das definidas no sistema, tipo analisar somente as q tiveram estruturadas mudadas entendem...

Se algum colega tiver alguma idéia agradeço.

[]´s

SQLRDD SR_ChangeStruct

09 Set 2012 18:23

Olá!

Tenta Assim:

Código:
Use OldDbf Exclusive New
aStru := OldDbf->( DbStruct() )

// ADICIONANDO CAMPO
IF AScan( aStru,{|a| UPPER(a[DBS_NAME]) == "NOVOCAMPO" } ) = 0 // se não achar ele acresenta
    AAdd( aStru, { "NOVOCAMPO", "C", 10, 0 } )
    L_Grava=1
ENDIF

// ALTERANDO CAMPO EXISTENTE
nPOS:= AScan( aStru,{|a| UPPER(a[DBS_NAME]) == "NOMECAMPO" } )
IF nPOS > 0
    aStru[nPOS,DBS_LEN] := 20  // AUMENTOU O TAMANHO
    L_Grava=1
ENDIF

// EXCLUINDO CAMPO EXISTENTE
nPOS:= AScan( aStru,{|a| UPPER(a[DBS_NAME]) == "NOMECAMPO" } )
IF nPOS > 0
    adel(astru,nPOS,.t.)
    L_Grava=1
ENDIF

   if L_Grava=1
      SR_ChangeStruct( OldDbf, aStru )
  endif
Editado pela última vez por Pablo César em 09 Set 2012 18:56, num total de 1 vezes
Razão: Mensagem editada para colocar a tag [ code ]
Veja como utilizar esta tag: Clique aqui
Postar uma resposta