Class VTableInfo para vJavaScript

Los objetos de esta clase contienen la informacion de la estructura de una tabla.

Tiene funciones generales de la tabla, como ver su id o su tipo,  y funciones para obtener informacion de sus subobjetos: campos, indices e historicos.

Tambien nos permite obtener otros VTablaInfo de las tablas enlazadas como maestros o historicos.

Funciones:

Tabla

  • String id();
  • String idRef();
  • String name();
  • String singleName();
  • Number type();
  • Boolean isInMemory();
  • Number registerLength();

Campos

  • Number fieldCount();
  • String fieldId( Number nCampo );
  • String fieldName( Number nCampo );
  • Number fieldType( Number nCampo );
  • Number fieldObjectType( Number nCampo );
  • Number fieldBufferLen( Number nCampo );
  • Number fieldDecimals( Number nCampo );
  • Boolean fieldIsSigned( Number nCampo );
  • Number fieldMinimumValue( Number nCampo );
  • Number fieldMaximumValue( Number nCampo );
  • Numer fieldBindType( Number nCampo );
  • String fieldBoundedTableId( Number nCampo );
  • VTableInfo fieldBoundedTableInfo( Number nPlural );
  • String fieldParentFieldId( Number nCampo );
  • Number fieldParentFieldNumber( Number nCampo );

Indices

  • Number indexCount();
  • String indexId( Number nIndex );
  • String indexName( Number nIndex );
  • Number indexType( Number nIndex );

Historicos

  • Number pluralCount();
  • String pluralId( Number nPlural );
  • String pluralName( Number nPlural );
  • String pluralBoundedTableId( Number nPlural );
  • VTableInfo pluralBoundedTableInfo( Number nPlural );

Localizadores por id

  • Number findField( String szIDPrimarioCampo );
  • Number findIndex( String szIDPrimarioIndice );
  • Number findPlural( String szIDPrimarioHist );

Enumeraciones:

Tipos de tablas

  • 0 – Maestro
  • 1 – Histórico
  • 2 – Submaestro
  • 3 – Arbolado

Tipos de campo

  • 00 – Alfa256
  • 01 – Alfa128
  • 02 – Alfa64
  • 03 – Alfa40
  • 04 – AlfaLatin1
  • 05 – AlfaUtf16
  • 06 – Numerico
  • 07 – Fecha
  • 08 – Hora
  • 09 – Tiempo (fecha y hora)
  • 10 – Booleano
  • 11 – Objeto
  • 12 – FormulaNumerica
  • 13 – FormulaAlfa
  • 14 – FormulaFecha
  • 15 – FormulaTiempo (fecha y hora)
  • 16 – // No usado
  • 17 – // No usado
  • 18 – PunteroVirtual

Tipos de campos objeto

  • 0 – Imagen
  • 1 – Texto
  • 2 – RichText
  • 3 – Binario
  • 4 – Formula dinamica

Tipos de enlaces de campo (bindType)

  • 0 – Ninguno
  • 1 – Maestro
  • 2 – Estatica
  • 3 – IndirectoReal
  • 4 – IndirectoVirtual
  • 5 – SingularPluralPosicion
  • 6 – SingularPluralIndice
  • 7 – Hermano

Tipos de indices

  • Clave unica
  • Palabras
  • Multiples claves
  • Acepta repetidas
  • Trozos de palabras

Ejemplos:

1: Controlar si es una tabla maestra normal

if (0 == VRegisterIn.tableInfo().type())
{
    .....
}

o bien

if (0 == VRegisterListIn.tableInfo().type())
{
    .....
}
Advertisement
Los comentarios y trackbacks están actualmente cerrados.

Comentarios

  • Pepeto  En 1 diciembre, 2011 a las 20:27

    Es brutal , pero se me ocurre, que seria perfecto, si pudieramos ver tambien las tablas de un proyecto (¿vProyectInfo?). Si no me equivoco, ahora mismo, necesitariamos un proceso para cada tabla. Si pudieramos simplemente recorrer la lista de tablas de un proyecto y obtener su ID.

    Solo pensaba en voz alta, ;)

    Es genial, muchas gracias

    un abrazo
    José Luis

  • Nacho  En 1 diciembre, 2011 a las 20:31

    Me voy a ahogar con tanta información. Con esto ya podemos acceder a la estructura de la base de datos y navegar por ella!!!!

    Desde luego el límite estará en nuestra imaginación. Está claro que los procesos de tipo v7, quedarán para las cosas sencillas, cuando quieras potencia a programar en javascript!!!

    ¿Alguien se quejaba de que la programación en v7 era muy rígida?….. Toma VJavascript.
    Vamos a tener la potencia de v7 sumada a la de los entornos de programación clásicos

  • jcobos  En 1 diciembre, 2011 a las 21:14

    @pepeto no adelantes acontecimientos que eso es de la clase VApplication

    • Pepeto  En 2 diciembre, 2011 a las 22:10

      Eso me gusta, hay mas clases, voy a tener que hacerme una ampliacion de neuronas, que a este paso se me queda pequeña :D

      un saludo.

  • Fran Varona  En 1 diciembre, 2011 a las 21:30

    Pero bueno… Lo vamos a toquetear… todo! !

  • Hector Santoveña  En 1 diciembre, 2011 a las 21:31

    Como sigas asi voy a dejar de escribir procesos en v7!! Me encanta lo que leo. Esto es otra herramienta!

  • Fernando Maltrana (@maltrana)  En 2 diciembre, 2011 a las 11:11

    Acabamos programando en C, lo que yo te diga :-)

    • Nacho  En 2 diciembre, 2011 a las 11:39

      No lo dudes, pero solo para el que quiera. Siempre podremos seguir con los procesos clásicos de v7, o profundizar hasta donde queramos en este “siniestro mundo” :D

  • jarboleya (Jesús)  En 31 diciembre, 2011 a las 1:16

    En el siguiente enlace podrás acceder a un artículo con información de las pruebas realizadas en vEST sobre esta clase VTableInfo.

    http://jarboleya.com/2011/12/31/testeo-vjavascript-clase-vtableinfo/

    En el artículo se incluyen capturas del código utilizado para las pruebas funcionales que pueden ser de ayuda complementaria a la aportada en este blog del vArquitecto sobre la aplicación práctica de las funciones y sus sintaxis..

    Espero que os sean de utilidad.

Trackbacks

  • Por Testeo vJavaScript: clase VTableInfo | Lógica mente el 31 diciembre, 2011 a las 1:10

    [...]   VTableInfo es una clase diseñada para obtener información sobre la estructura de un objeto Tabla. En el blog del vArquitecto encontrarás la información detallada sobre esta clase y sus funciones “Class VTableInfo para vJavaScript“. [...]

Seguir

Get every new post delivered to your Inbox.