Árvore de páginas

Muda o alias de uma área de trabalho aberta.

Sintaxe

DBChangeAlias( < cOldAlias >, < cNewAlias > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cOldAlias

caractere

Indica o alias aberto de uma tabela.

X

 

cNewAlias

caractere

Indica o novo alias da tabela.

X

 

Retorno

Nome

Tipo

Descrição

LRet

lógico

Retorna se o alias foi alterado ou não.

Observações

  • O novo alias fará referência à mesma tabela do alias anterior, que a partir da mudança ficará inválido.
  • Caso cOldAlias não esteja aberto, a função retornará .F. e exibirá no log de console do AppServer a mensagem "Invalid source alias [ AAA ] on ChangeAlias", onde AAA é o alias informado em cOldAlias.
  • Caso cNewAlias esteja aberto, a função retornará .F. e exibirá no log de console do AppServer a mensagem "Invalid target alias [ AAA ] on ChangeAlias", onde AAA é o alias informado em cNewAlias.
  • Caso cOldAlias foi usado pela função FldSetTrigger, a função retornará .F. e exibirá no log de console do AppServer a mensagem "Invalid triggered alias [ AAA ] on ChangeAlias", onde AAA é o alias informado em cOldAlias.
  • Caso cNewAlias seja igual a OLD seguido de cOldAlias, a função retornará .F. e exibirá no log de console do AppServer a mensagem "Invalid alias renaming [ AAA ] on ChangeAlias", onde AAA é o alias informado em cNewAlias.

Exemplos

O exemplo abaixo utiliza a RDD "TOPCONN", mas a função pode ser utilizada com qualquer uma das RDDs válidas.

user function test1()
  Local nHandle1  := TCLink( "MSSQL/DSN1", "127.0.0.1", 7890 )
  Local cTable1   := "MYTABLE1"
  Local cTable1   := "MYTABLE2"
  Local cNewAlias := ""
  Local cRDD      := "TOPCONN"
  
  // Vai exibir .F., pois cTable1 não está aberto
  cNewAlias := "MYALIAS"
  conout( DBChangeAlias( cTable1, cNewAlias ) )
  
  // Abre a tabela 1 em modo exclusivo criando uma área de trabalho
  DBUseArea( .T., cRDD, cTable1, (cTable1), .F., .F. )
  
  // Abre a tabela 2 em modo exclusivo criando uma área de trabalho
  DBUseArea( .T., cRDD, cTable2, (cTable2), .F., .F. )
  
  // Vai exibir .F., pois cNewAlias contém um nome inválido
  cNewAlias := "OLD" + cTable1
  conout( DBChangeAlias( cOldAlias, cNewAlias ) )
  
  // Vai exibir o valor do campo MYFIELD da tabela 1
  // pois o alias cTable1 está aberto
  conout( (cTable1)->MYFIELD )
  
  // Vai exibir .T.
  cNewAlias := cTable1 + "NEW"
  conout( DBChangeAlias( cTable1, cNewAlias ) )
  
  // Vai dar erro tentar exibir o valor do campo MYFIELD da tabela 1
  // pois o alias cTable1 não está mais aberto
  conout( (cTable1)->MYFIELD )

  // Vai exibir o valor do campo MYFIELD da tabela 1
  // pois o alias cNewAlias está aberto
  conout( (cNewAlias)->MYFIELD )
  
  // Desconecta
  TCUnlink( nHandle1 )
return

Veja também

  • Sem rótulos