Clipper On Line • Ver Tópico - SQLRDD SR_ChangeStruct

SQLRDD SR_ChangeStruct

Discussão sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

 

SQLRDD SR_ChangeStruct

Mensagempor fladimir » 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
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


DESKTOP CONSOLE Harbour | MinGW | DBF | CDX | FastReport | MySQL
DESKTOP VISUAL... Harbour | MinGW | Xailer | MariaDB Nativo | FastReport
MOBILE Android/IOS e WEB - Windev Mobile 22
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2357
Data de registro: 15 Nov 2006 19:21
Curtiu: 25 vezes
Mens.Curtidas: 135 vezes

SQLRDD SR_ChangeStruct

Mensagempor pauloa1 » 09 Set 2012 18:23

Olá!

Tenta Assim:

 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
Nota de Moderação:
Pablo César: Mensagem editada para colocar a tag [ code ]
Veja como utilizar esta tag: Clique aqui
pauloa1
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 189
Data de registro: 25 Jun 2008 14:57
Cidade/Estado: Augusto Pestana-RS
Curtiu: 1 vez
Mens.Curtidas: 5 vezes




Retornar para Banco de Dados

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro