AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Administrar bases de datos / HFSQL / Tipos de variables HFSQL
  • Manejar una consulta o una vista mediante programación
  • Uso de una fuente de datos en una consulta SQL
  • Propiedades associated con las variables de la Fuente de Datos
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Una fuente de datos Variable se usa para describir una fuente de datos temporal (consulta, vista, alias, ... ).
Todas las operaciones que se pueden realizar en una vista (o en una consulta) se pueden realizar en una fuente de datos Variable associated con una vista (o con una consulta).
Para describir una fuente de datos , debe:
  1. Declarar una "Fuente de datos" Variable.
  2. Inicializar la fuente de datos (HExecuteSQLQuery o HCreateView).
    La fuente de datos se libera automáticamente al final de la Process donde se declara esta fuente de datos.
    Observación: La fuente de datos también puede ser inicializada por HDeclareExternal. En este caso, la fuente de datos le permite a manipular un archivo de datos utilizando el description de este archivo, independientemente del análisis.
Observaciones:
  • Al cerrar la solicitud (o el Process donde se declaró la fuente de datos), la fuente de datos será destruida automáticamente.
  • Una fuente de datos es siempre global para el contexto HFSQL en el que fue declarada.
  • Una fuente de datos puede tener un nombre interno distinto del nombre de Variable, por ejemplo, para permitir su uso en un array. En la ventana description del proyecto (pestaña "Compilación"), puede definir la opción "Denominación de las fuentes de datos".
Ejemplo
// Declare a data source
MyDataSource is Data Source
MyDataSource1, MyDataSource2 are Data Sources
// Initialize a Data Source variable
MyQuery is Data Source
// MyQuery is associated with a query
// Initialize the MyQuery variable
HExecuteSQLQuery(MyQuery, "SELECT NAME FROM CUSTOMER")
// Initialize a Data Source variable
MyView is Data Source
// MyView is associated with a view
// Initialize the MyView variable
HCreateView(MyView, CUSTOMER, "*", "NAME,CITY", "NAME]='A'", hViewDefault)
// Delete a data source
MyQuery is Data Source
HExecuteSQLQuery(MyQuery, "SELECT NAME FROM CUSTOMER")
// Destroy the data source associated with the MyQuery variable
HCancelDeclaration(MyQuery)
HExecuteSQLQuery(MyQuery, "SELECT NAME FROM SUPPLIER")
// Delete a data source
MyView is Data Source
// MyView is associated with a view
// Initialize the MyView variable
HCreateView(MyView, CUSTOMER, "*", "NAME,CITY", "NAME]='A'", hViewDefault)
// Destroy the data source associated with the MyView variable
HDeleteView(MyView)
HCreateView(MyView, CUSTOMER, "*", "NAME,FIRSTNAME", "NAME]='C'", hViewDefault)
Sintaxis

Declarar una o más fuentes de datos Ocultar los detalles

<Name of variable> is Data Source
<Name of variable 1>, <Name of variable 2> are Data Sources
<Variable name>:
Nombre de la "Fuente de Datos" Variable a declarar.
Observación: Las palabras clave a y an son opcionales: proporcionan una mejor legibilidad.

Declarar una fuente de datos asociándola con un archivo de datos o con una consulta Ocultar los detalles

<Name of variable> is Data Source <description=File or query name>
<Variable name>:
Nombre de la "Fuente de Datos" Variable a declarar.
<File or query name>:
Nombre del archivo de datos o consulta cuyo description debe ser associated con la fuente de datos. Si se especifica este parámetro, la terminación propondrá los diferentes elementos de la fuente de datos de associated.
origen de los datos

Inicialización de una "Fuente de datos" Variable (consulta o vista) Ocultar los detalles

Para inicializar un "Fuente de datos" Variable , use la siguiente función:
  • HExecuteSQLQuery si el Variable es associated con una consulta.
  • HCreateView si el Variable es associated con una vista.
  • HDeclareExternalsi la variable debe ser asociada a un archivo físico importando la description de este archivo.

Eliminación de la fuente de datos (consulta o vista) Ocultar los detalles

Cuando la misma fuente de datos Variable se utiliza varias veces con diferentes fuentes de datos, la primera fuente de datos debe ser liberada.

Para liberar el espacio de memoria ocupado por la fuente de datos (consulta o vista) , utilice la siguiente función:
Observaciones

Manejar una consulta o una vista mediante programación

Para manipular una consulta o una vista mediante programación, le recomendamos que utilice una "Fuente de datos" Variable.
Sin embargo, puede especificar un nombre lógico al inicializar la consulta o la vista. En ese caso, tendrá que utilizar la palabra clave Externo para manipular directamente la vista o la consulta en el editor de código. Este método puede ralentizar la ejecución de sus procesos.
Observación: Cuando se utiliza un nombre lógico, la consulta o la vista no se destruye automáticamente.: debe utilizar HCancelDeclaration y HDeleteView.
Por ejemplo:
  • Inicializando una consulta:
    1. Inicializar una consulta con un nombre lógico:
      EXTERN MyQuery
      HExecuteSQLQuery(MyQuery, "SELECT NAME FROM CUSTOMER")
      // Other possible syntax:
      // HExecuteSQLQuery("MyQuery", "SELECT NAME FROM CUSTOMER")
       
      // Use the query
      HReadFirst(MyQuery, Name)
      IF NOT HOut() THEN
      Info("The 1st customer is: " + MyQuery.Name)
      END
      ...
      HCancelDeclaration(MyQuery)
    2. Inicializar una consulta con una "Fuente de datos" Variable:
      MyQuery is Data Source
      HExecuteSQLQuery(MyQuery, "SELECT NAME FROM CUSTOMER")
      // Use the query
      HReadFirst(MyQuery, Name)
      IF NOT HOut() THEN
      Info("The 1st customer is: " + MyQuery.Name)
      END
  • Inicializar una vista:
    1. Inicializar una vista con un nombre lógico:
      EXTERN MyView
      HCreateView(MyView, CUSTOMER, "*", "NAME,CITY", "NAME]='A'", hViewDefault)
      // Other possible syntax:
      // HCreateView("MyView", "CUSTOMER", "*", "NAME,CITY", "NAME]='A'", hViewDefault)
       
      // Use the view
      HReadFirst(MyView, Name)
      IF NOT HOut() THEN
      Info("The 1st customer is: " + MyView.Name)
      END
      ...
      HDeleteView(MyView)
    2. Inicializar una vista con una "Fuente de datos" Variable:
      MyView is Data Source
      HCreateView(MyView, CUSTOMER, "*", "NAME,CITY", "NAME]='A'", hViewDefault)
      // Use the view
      HReadFirst(MyView, Name)
      IF NOT HOut() THEN
      Info("The 1st customer is: " + MyView.Name)
      END

Uso de una fuente de datos en una consulta SQL

Para utilizar una fuente de datos en el código SQL de una consulta, el código SQL de la consulta debe utilizar el nombre lógico asignado a la fuente de datos.
Por ejemplo, el siguiente código puede utilizarse independientemente del modo de nombramiento de la fuente de datos:
ArchiveTicket is Data Source
HDeclareExternal("Ticket_Backup.FIC", ArchiveTicket)
   
QRY is Data Source
sMyQry is string = [
SELECT *
FROM [%TicketArchive%]
WHERE ZIPCODE='26110'
]
 
IF HExecuteSQLQuery(QRY, hQueryDefault, sMyQry) THEN
Info(HNbRec(QRY) + " tickets match.")
END
Ejemplo de código a utilizar si el description del fichero externo es el description de uno de los ficheros del análisis:
ArchiveTicket is Data Source = <description=Ticket>
HDeclareExternal("Ticket.FIC", ArchiveTicket)
REQ is SQL Query = [
SELECT *
FROM [%TicketArchive%]
]
HExecuteQuery(QRY)
FOR EACH QRY
Trace(QRY.TicketID)
END

Propiedades associated con las variables de la Fuente de Datos

Las siguientes propiedades son associated con las variables de la Fuente de Datos. Estas propiedades son idénticas a las que se aplican a un archivo de datos:
AbreviaturaDevuelve la abreviatura de la fuente de datos.
CharsetPermite conocer el personaje set utilizado por la fuente de datos.
Base de datosSe utiliza para encontrar y modificar la base de datos associated con una conexión (HFSQL Client/Server, OLE DB, ...).
MaxValueRecupera el límite superior del filtro actual (definido por HFilter) para una fuente de datos.
MinValueRecupera el límite inferior del filtro actual (definido por HFilter) para una fuente de datos.
MmoPackMethodConfigura el modo de compresión del archivo MMO (que contiene los memos binarios y de texto) associated con la fuente de datos.
FilterConditionDevuelve la condición de selección implementada por HFilter en una fuente de datos.
ConexiónPermite averiguar la conexión actual de associated con una fuente de datos.
FicEncryptionConfigura el modo de cifrado de la fuente de datos.
MmoEncryptionConfigura el modo de encriptación del archivo memo (.MMO extension) associated con la fuente de datos.
NdxEncryptionConfigura el modo de encriptación del archivo índice associated con la fuente de datos.
CtAccessGestiona el tipo de acceso al fichero cuando se conecta a una determinada tabla a través de OLE DB (teniendo en cuenta los cambios realizados con HConnect).
CtDescribedAccessGestiona el tipo de acceso al fichero cuando se conecta a un tabla específico a través de OLE DB (ignorando los cambios realizados con HConnect).
CtDatabaseGestiona la fuente de datos OLE DB cuando se conecta a un tabla específico a través de OLE DB (teniendo en cuenta los cambios realizados con HConnect).
CtDescribedDatabaseGestiona la fuente de datos OLE DB cuando se conecta a un tabla específico a través de OLE DB (ignorando los cambios realizados con HConnect).
CtExtendedInfoLe permite encontrar la información adicional insertada en la cadena para conectarse a la base de datos..
CtInitialCatalogPermite identificar la base de datos Default definida para el acceso.
CtDescribedCaptionConfigura el subtítulo de la conexión a la fuente de datos OLE DB.
CtCursorOptionsPermite conocer el tipo de cursor utilizado durante una conexión a una base de datos externa..
CtOLEDBProviderGestiona el nombre del proveedor de OLE DB (teniendo en cuenta los cambios realizados con HConnect).
CtDescritoOLEDBProveedorGestiona el nombre del proveedor de OLE DB (ignorando las modificaciones realizadas por HConnect).
CtUserNameGestiona el nombre de usuario en una conexión vía OLE DB (teniendo en cuenta los cambios realizados con HConnect).
CtDescritoNombreDeUsuarioGestiona el nombre de usuario en una conexión vía OLE DB (ignorando los cambios realizados con HConnect).
ExecutionCompletedPermite saber si la ejecución de una consulta o vista HFSQL Classic o Cliente/Servidor ha finalizado.
extensionPermite conocer y modificar la extensión de un archivo de datos.
LogFileLe permite averiguar si un archivo de datos es un archivo de registro.
TransactionFileLe permite averiguar si un archivo de datos es un archivo de transacciones.
FilterWithBoundsPermite averiguar si se han especificado límites en el filtro implementado por HFilter en una fuente de datos.
envergaduraConfigura el formato de los datos que se encuentran en el archivo de datos (ANSI o Unicode).
HugeFileConfigura el tamaño máximo de la fuente de datos.
GUIDAnalysisDevuelve la GUÍA del análisis que se utilizó para crear el archivo de datos.
GUIDFileDevuelve el GUID del archivo definido en el análisis que se utilizó para crear el archivo de datos.
MaxAutoIDPermite conocer el identificador máximo de automatic para un archivo replicado.
MinAutoIDPermite conocer el identificador mínimo de automatic para un archivo replicado.
ExtendedInfoDevuelve y modifica la información adicional de un archivo de datos o elemento al que se accede a través de un Conector Nativo.
LogMétodoDevuelve el método de registro de un archivo de datos.
NbItemDevuelve el número total de elementos (incluidas las claves compuestas) encontrados en una Record de un archivo descrito en la editor de análisis, un archivo descrito mediante programación, una vista HFSQL o una consulta.
NbKeyItemDevuelve el número total de elementos clave (incluidas las claves compuestas) encontrados en una Record de un archivo descrito en la editor de análisis, un archivo descrito mediante programación, una vista HFSQL o una consulta.
NbMemoItemDevuelve el número total de memorias encontradas en una Record de un archivo descrito en la editor de análisis, un archivo descrito mediante programación, una vista HFSQL o una consulta.
denominarGestiona el nombre de los diferentes objetos HFSQL.
Nombre55Gestiona el nombre lógico de un archivo en formato Hyper File 5.5 encontrado en un análisis en formato HFSQL Classic.
DescribedNameManeja el nombre lógico de un archivo de datos.
PhysicalNameGestiona el nombre físico de los archivos de datos.
DescribedPhysicalNameGestiona el nombre físico de los archivos HFSQL (ignorando los nombres cambiados con HChangeName).
NullSupportedPermite gestionar el valor NULL en un archivo HFSQL.
GenerationNumberDefine el número de generación del archivo físico associated con el archivo lógico especificado.
PasswordProtectedPermite saber si un fichero tiene contraseña protected.
DirectorioGestiona el directorio físico de los archivos HFSQL. Esta Property tiene en cuenta el cambio de directorio realizado por HChangeDir o HSubstDir.
DescribedDirectoryGestiona el directorio físico de los archivos HFSQL. Este Property ignora el cambio de directorios realizado con HChangeDir o HSubstDir.
LogDirectorioGestiona el directorio del archivo de registro descrito en el análisis.
OperaciónLogDirectorioLe permite gestionar el directorio del fichero de operaciones para el registro associated con un fichero de registro.
Directorio de replicaciónPermite gestionar el directorio de réplica (archivo ".RPL" o ".RPM").
LogBackupDirectorioLe permite encontrar y modificar el directorio de copia de seguridad de los archivos de registro.
ReplicaciónPermite conocer el modo de replicación utilizado para un archivo de datos (archivo definido en la editor de análisis o mediante programación). Para los archivos definidos por programación, puede especificar si este archivo está en modo de replicación registrada o no.
FilteredItemPermite conocer el elemento sobre el que HFilter ha implementado un filtro en un archivo de datos, una vista HFSQL o una consulta.
TextItemCompletedConfigura la gestión de los elementos de texto en un archivo HFSQL. Los elementos de texto pueden rellenarse automáticamente con caracteres de espacio (modo de operación idéntico al de WINDEV 5.5) o no..
SeguroConfigura el nivel de seguridad para el cifrado de archivos.
RecordSizeDevuelve el tamaño de una Record (en bytes) mientras ignora las claves compuestas.
escribir a máquinaIdentifica y modifica el tipo de un elemento.
JMJ55Ruta del archivo WDD en formato 5.5 utilizado para manipular los archivos en formato 5.5 en una aplicación WINDEV, WEBDEV o WINDEV Mobile.
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 29/03/2023

Señalar un error o enviar una sugerencia | Ayuda local