Árvore de páginas

Retorna o tamanho de um registro da tabela aberta.

Sintaxe

RecSize()

Observações

  • O valor retornado é a soma dos tamanhos de todos os campos da tabela mais 1 byte pelo flag de exclusão, tratado pela função Deleted.
  • RecSize desconsidera os campos de controle adicionados pelo DBAccess.
  • Caso não haja tabela aberta, a função retornará 0 (zero).
  • A existência de mais de uma conexão no mesmo programa para o mesmo SGBD não influencia o funcionamento da função.
  • Verifique a função DBStruct para considerações sobre os tamanhos dos campos.

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 cRDD := "TOPCONN"
  
  // Cria a tabela
  DBCreate( cTable1, { { "CPOC", "C", 10, 0 }, ;
                       { "CPON", "N",  3, 0 }, ;
                       { "CPOD", "D",  8, 0 }, ;
                       { "CPOL", "L",  1, 0 }, ;
                       { "CPOM", "M", 20*1024, 0 } }, cRDD )
  
  conout( RecSize() ) // Vai exibir 0, por não ter tabela aberta
  
  // Abre a tabela 1 em modo exclusivo para leitura criando uma área de trabalho
  DBUseArea( .T., cRDD, cTable1, (cTable1), .F., .T. )
  
  // Exibe o tamanho de um registro da tabela
  // Vai exibir: 10 + 3 + 8 + 1 + 10 = 32
  conout( RecSize() )
  
  // Fecha a área de trabalho
  DBCloseArea()
  
  // Apaga a tabela
  TCDelFile( cTable1 )
  
  TCUnlink( nHandle1 )
return

Veja também

  • Sem rótulos