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 / Funciones SQL
  • Características de la control Tabla rellenada programáticamente
  • Cerrar una consulta
  • Uso de la función Partial Fetch
  • Tipos de consultas
  • Recuperación de posiciones flotantes en Oracle (mediante ODBC)
  • Gestión de Unicode
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
Transfiere el resultado de una consulta a una control Tabla rellenada de forma programática (una Caja de Listas o control Combo Box), con la posibilidad de Partial Fetch (el resultado se recupera por bloques de filas). En un navegador "SQLFetch/SQLGetCol", la transferencia de información al control Tabla comenzará desde el Record actual.
Observación: Esta función debe utilizarse para examinar el resultado de la consulta SQLFetch/SQLGetCol. Se produce un error fatal si se utiliza esta función en una navegación SQLFirst/SQLCol. Para obtener más información, consulte Tipos de navegación SQL.
Java La búsqueda de Partial se realiza automáticamente por la Java framework.
Ejemplo
// Transfer to a Table control: retrieval without fetch
ResSQL = SQLExec("SELECT CUSTNAME, CUSTFIRSTNAME FROM INV", "QRY1")
IF ResSQL THEN
SQLTable("QRY1", TABLE_QryTab, "Customer name" + TAB + "First name", "30 20")
// Calculates the number of result records
NbRec is int = TableCount(TABLE_QryTab)
ELSE
// SQL error
END
SQLClose("QRY1")
WINDEVCódigo de Usuario (UMC)HFSQL ClassicHFSQL Client/ServerHyper File 5.5OLE DBODBCConectores Nativos
// Transfer to a Table control: retrieve the first 25 ones
ResSQL = SQLExec("SELECT CUSTLASTNAME, CUSTFIRSTNAME, CITY FROM INV", "QRY1")
IF ResSQL THEN
// Get the first 25 rows only
SQLTable("QRY1", TABLE_QryTab, 25)
ELSE
// SQL error
END
SQLClose("QRY1")
WINDEVCódigo de Usuario (UMC)HFSQL ClassicHFSQL Client/ServerHyper File 5.5OLE DBODBCConectores Nativos
// Transfer to a Table control: retrieval by fetch
ResSQL = SQLExec("SELECT CUSTLASTNAME, CUSTFIRSTNAME, CITY FROM INV", "QRY1")
IF ResSQL THEN
// Retrieve by groups of 28 rows
WHILE SQLTable(28, "QRY1", TABLE_MYTABLE, "TitleCol", "90")
// Process  
ELSE
// SQL error
END
SQLClose("QRY1")
Sintaxis

Transferencia a un control Tabla poblado programáticamente sin Partial Fetch Ocultar los detalles

SQLTable(<Query name> , <Table control> , <Maximum number of rows> [, <Title of columns>] , <Width of columns>)
<Query name>: Cadena de caracteres
Nombre de la consulta creada y ejecutada con SQLExecWDR, o ejecutada con SQLExec.
Java El nombre de la consulta debe estar necesariamente entre comillas.
<Table control>: Nombre del control
Nombre de la control Tabla poblada programáticamente donde se mostrará el resultado de la consulta.
<Maximum number of rows>: Integro
Número máximo de líneas visualizadas en el control Tabla. Si se especifica este parámetro, control Tabla contendrá un máximo de <Máximo número de filas> filas mostradas, incluso si el resultado de la consulta contiene un mayor número de filas.
<Title of columns>: Cadena de caracteres opcional
Lista de todos los títulos de las columnas de la control Tabla rellenada mediante programación. Los diferentes títulos están separados por caracteres TAB. Para especificar sólo los anchos de las columnas, este parámetro puede corresponder a una cadena vacía (""").
<Width of columns>: Cadena de caracteres
Lista de todos los anchos de columna, separados por un carácter de espacio. Para especificar sólo los títulos de las columnas, este parámetro puede corresponder a una cadena vacía (""").
WINDEVCódigo de Usuario (UMC)

Transferencia a un control Tabla poblado programáticamente con Partial Fetch Ocultar los detalles

SQLTable(<Number of rows in a block> , <Query name> , <Table control> [, <Title of columns>] , <Width of columns>)
<Number of rows in a block>: Integro
Número de líneas incluidas en un bloque para el Partial Fetch. Sólo este bloque de filas se carga en la memoria, los siguientes bloques se cargan automáticamente en la memoria en una tarea de Background.
<Query name>: Cadena de caracteres
Nombre de la consulta creada y ejecutada con SQLExec, o ejecutada con SQLExecWDR.
<Table control>: Nombre del control
Nombre de la control Tabla poblada programáticamente donde se mostrará el resultado de la consulta.
<Title of columns>: Cadena de caracteres opcional
Lista de todos los títulos de las columnas de la control Tabla rellenada mediante programación. Los diferentes títulos están separados por caracteres TAB. Para especificar sólo los anchos de las columnas, este parámetro puede corresponder a una cadena vacía (""").
<Width of columns>: Cadena de caracteres
Lista de todos los anchos de columna, separados por un carácter de espacio. Para especificar sólo los títulos de las columnas, este parámetro puede corresponder a una cadena vacía (""").
Observaciones

Características de la control Tabla rellenada programáticamente

El número de columnas de la control Tabla rellenada programáticamente debe ser suficiente para aceptar todas las columnas del resultado de la consulta.

Cerrar una consulta

Una consulta se cierra automáticamente:
  • una vez que se ha ejecutado SQLTable si no se utiliza el Partial Fetch.
  • tan pronto como el resultado de la consulta se recupere por completo si se utiliza el Partial Fetch.
WINDEVCódigo de Usuario (UMC)HFSQL ClassicHFSQL Client/ServerHyper File 5.5OLE DBODBCConectores Nativos

Uso de la función Partial Fetch

La recuperación actual se detiene en cuanto se llama a SQLClose o cuando se cierra la ventana que contiene la control Tabla.
El Partial Fetch se puede utilizar en varias consultas al mismo tiempo.
WINDEVCódigo de Usuario (UMC)HFSQL ClassicHFSQL Client/ServerHyper File 5.5OLE DBODBCConectores Nativos

Tipos de consultas

La función SQLTable permite asociar las consultas creadas con la función SQLExec a una tabla rellenada mediante programación.
Para asociar una control Tabla rellenada programáticamente con las consultas creadas en el editor de consultas (o con HExecuteSQLQuery), utilice FileToMemoryTable.
WINDEVCódigo de Usuario (UMC)ODBC

Recuperación de posiciones flotantes en Oracle (mediante ODBC)

Por Default, el separador decimal usado para los elementos de la Flota en el Oráculo es el punto. Sin embargo, el controlador ODBC devuelve el valor utilizando la coma como separador decimal. Los decimales se pierden cuando se asigna el valor a un control numérico.
Para evitar este problema, debe configurar el separador decimal para la conexión actual:
// Connection to the Oracle database
SQLConnect("MyOracleDatabase", "User", "Pass", "", "ODBC")
// Request for changing the decimal separator
SQLExec("ALTER SESSION SET NLS_NUMERIC_CHARACTERS ='. '", "TempQry")

Gestión de Unicode

Puede definir cómo se gestionará Unicode en la configuración del proyecto (pestaña "Unicode" de la ventana de configuración de description):
  • Si se selecciona la opción "Utilizar cadenas ANSI en ejecución".: los datos se convierten utilizando el carácter actual set.
    Recordatorio: ChangeCharset cambia el carácter actual set.
  • Si se selecciona "Utilizar cadenas UNICODE en ejecución", los datos se insertan sin ser convertidos.
Componente: wd290obj.dll
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: 27/05/2022

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