Page tree
Skip to end of metadata
Go to start of metadata

Verifica se uma tabela e/ou índice existe.

Sintaxe

TCCanOpen( < cTable >, [ cIndex ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cTable

caractere

Nome da tabela.

X


cIndex

caractere

Nome do índice.



Retorno

Nome

Tipo

Descrição

lRet

lógico

Retorna .T. se a tabela e/ou índice existir, caso contrário, retorna .F.

Observações

  • Para verificar a existência de um índice, é necessário informar a tabela a que este índice pertence.

Exemplos

STATIC FUNCTION CreateTable()
  TCDelFile('T1')
  TCDelFile('T2')
  
  DBCreate('T1', {{"FIELD_NAME", "C", 10, 0}, ;
                  {"FIELD_TYPE"   , "C", 10, 0}}, 'TOPCONN')
                  
  DBCreate('T2', {{"FIELD_NAME", "C", 10, 0}, ;
                  {"FIELD_TYPE"   , "C", 10, 0}, ;
                  {"FIELD_ID" , "N", 3, 0}}, 'TOPCONN')
RETURN

FUNCTION u_canOpen()
  TCLink()
  
  CreateTable()

  DBUseArea(.F., 'TOPCONN', 'T2', 'T2', .F., .F.)

  DBCreateIndex('T2_IND', 'FIELD_NAME', { || 'FIELD_NAME' })

  IIF(TCCanOpen('T1'), CONOUT('TRUE'), CONOUT('FALSE'))             // retorna .T., ou seja, tabela existe
  IIF(TCCanOpen('T2'), CONOUT('TRUE'), CONOUT('FALSE'))             // retorna .T., ou seja, tabela existe
  IIF(TCCanOpen('T3'), CONOUT('TRUE'), CONOUT('FALSE'))             // retorna .F., ou seja, tabela não existe
  IIF(TCCanOpen('T2', 'T2_IND'), CONOUT('TRUE'), CONOUT('FALSE'))   // retorna .T., ou seja, tabela e índice existem
  IIF(TCCanOpen('T2', 'T2_INDEX'), CONOUT('TRUE'), CONOUT('FALSE')) // retorna .F., pois, o índice T2_INDEX não existe
  IIF(TCCanOpen('T1', 'T1_IND'), CONOUT('TRUE'), CONOUT('FALSE'))   // retorna .F., pois, o índice T1_IND não existe
 
  DBCloseArea()
RETURN

Veja também

  • No labels