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
  • Ejecutar la consulta
  • Recuperación del resultado de la consulta
  • Insertar consulta
  • Gestión de notas de texto
  • Gestión de memos binarios
  • Consulta SQL (HExecuteSQLQuery o consultas creadas en el editor de consultas)
  • Comparación con la sintaxis de HExecuteSQLQuery
  • SQLExec y los hilos
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
Nombra y ejecuta una consulta SQL.
Atención: La función SQLExec no inicia el proceso para recuperar el resultado en la memoria. El resultado se recupera durante la primera llamada a una de las siguientes funciones: SQLFirst, SQLTable o SQLFetch.
Observación: Para manipular una nota binaria en una consulta, utilice la palabra clave WDBinaryMemo en el texto de su consulta (consulte observaciones para obtener más detalles)..
Ejemplo
WINDEVCódigo de Usuario (UMC)HFSQL ClassicHFSQL Client/ServerHyper File 5.5OLE DBODBCConectores Nativos
// Run the query and retrieve the result line by line
i is int = 0
SQLExec("SELECT LASTNAME, FIRSTNAME, EXTENSION, PHOTO FROM CUSTOMER", "QRY1")
WHILE SQLFetch("QRY1") = 0 // There is still another line to read
i++
// Retrieve the data
LASTNAME[i] = SQLGetCol("QRY1", 1)
FIRSTNAME[i] = SQLGetCol("QRY1", 2)
EXTENSION[i] = SQLGetCol("QRY1", 3)
{"IMAGE"+i} = SQLGetMemo("QRY1", 4)
END
SQLClose("QRY1")
Sintaxis

Ejecutar una consulta SQL Ocultar los detalles

<Result> = SQLExec(<Text of SQL query> , <Query name>)
<Result>: booleano
  • True si la consulta fue ejecutada,
  • False en caso contrario. Si la consulta no se ha ejecutado, la variable SQL.MesError puede devolver el mensaje de error una vez que se ha ejecutado SQLInfo.
<Text of SQL query>: Cadena de caracteres (con comillas)
Código SQL de la consulta a ejecutar.
<Query name>: Cadena de caracteres (con comillas)
Nombre asociado al texto de la consulta. Corresponde a:
  • el nombre de la consulta lógica.
  • el nombre y el ruta completo de la consulta (archivo".WDR").
Java El nombre de la consulta corresponde sólo al nombre de la consulta lógica.
Observaciones

Ejecutar la consulta

La información relativa a la ejecución de la consulta es devuelta por SQLInfo. La variable SQL.NbCol contiene el número de columnas que se encuentran en el resultado de la consulta.
Una vez ejecutada y procesada, la consulta debe ser liberada por SQLClose.

Recuperación del resultado de la consulta

Entonces, el resultado de la consulta puede ser:
  • Transferido a un tabla o a un list box (SQLTable).
  • Transferido a controles o variables (SQLAssociate).
  • Recuperado línea por línea (SQLFetch).
WINDEVCódigo de Usuario (UMC)HFSQL ClassicHFSQL Client/Server

Insertar consulta

Cuando se ejecuta una consulta INSERT, la variable SQL.IdAuto contiene el identificador automático que se añadió durante el INSERT anterior.
WINDEVCódigo de Usuario (UMC)HFSQL ClassicHFSQL Client/ServerHyper File 5.5OLE DBODBCConectores Nativos

Gestión de notas de texto

En el parámetro <Query text>, una nota de texto se utiliza como una variable de texto. Por ejemplo:
// Query with condition on a text memo whose value is "Good customer"
QueryText = "SELECT CUSTNAME FROM CUSTOMER WHERE CUSTOMERMEMO = 'Good customer'"
SQLExec(QueryText, "QRY1")
WINDEVJavaCódigo de Usuario (UMC)ODBCConectores Nativos

Gestión de memos binarios

Para escribir un memo binario en un tabla (usando un comando SQL UPDATE o INSERT), se debe usar la siguiente sintaxis en el texto de la consulta:
{WDBinaryMemo('<FileName>' [,'File']}
donde:
  • Archivo (valor por defecto) indica que el memo es un memo binario (procedente de un archivo).
  • WDBinaryMemo es una palabra reservada.
  • <NombreArchivo> es el nombre físico de un archivo.
{WDBinaryMemo('<FileName>' [,'TextFile']}
donde:
  • TextFile indica que el memo es un memo de texto (procedente de un archivo).
  • WDBinaryMemo es una palabra reservada.
  • <NombreArchivo> es el nombre físico de un archivo.
    Por ejemplo:
// Insert the C:\PHOTO\SMITH.BMP file into a binary memo
QueryText = "INSERT INTO CUSTOMER VALUES ('SMITH', 'John'," + ...
"{WDBinaryMemo('C:\PHOTO\SMITH.BMP')})"
SQLExec(QueryText, "QRY1")
// Insert the C:\DOC\LETTER.TXT file into a text memo
QueryText = "INSERT INTO CUSTOMER VALUES ('THOMPSON', 'Christopher'," + ...
"{WDBinaryMemo('C:\DOC\LETTER.TXT', 'TextFile')})"
SQLExec(QueryText, "QRY1")
Observación: No es posible insertar memos binarios en un archivo HFSQL con las funciones SQL y se produce un error.. El mensaje de error es el siguiente: "Incapaz de inicializar la consulta. Inesperado {WDBinaryMemo( character".
WINDEVCódigo de Usuario (UMC)HFSQL ClassicHFSQL Client/ServerHyper File 5.5

Consulta SQL (HExecuteSQLQuery o consultas creadas en el editor de consultas)

Cuando se utilizan las instrucciones SQL DELETE, INSERT o UPDATE, no se realiza ninguna comprobación de integridad ni de duplicados en una base de datos HFSQL.. Esta funcionalidad no está disponible en esta versión.
Solución: Utilizar las funciones HFSQL (HDelete, HAdd o HModify) en sus ficheros de datos.. La comprobación de integridad y la comprobación de duplicados se realizarán automáticamente.
Observación: HExecuteQuery y HExecuteSQLQuery se utilizan para comprobar la integridad y los duplicados en una base de datos HFSQL.
WINDEVJavaCódigo de Usuario (UMC)HFSQL ClassicHFSQL Client/ServerHyper File 5.5OLE DBODBCConectores Nativos

Comparación con la sintaxis de HExecuteSQLQuery

HExecuteSQLQuery también se puede utilizar para ejecutar una consulta SQL. Los parámetros de estas dos funciones son idénticos, pero su orden es inverso.: de hecho, HExecuteSQLQuery especifica primero el nombre de la consulta y luego el texto de la consulta (utilizando el mismo estándar que todas las funciones HFSQL).
La sintaxis de la función SQLExec se conserva por motivos de compatibilidad.

SQLExec y los hilos

Al ejecutar la función SQLExec en un hilo secundario, la conexión utilizada debe establecerse en el mismo hilo: la conexión no se puede establecer en el hilo principal (proyecto o ventana). La conexión establecida por SQLConnect no es compartida en los otros hilos.
Componente: wd290hf.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Exemplo de conexao em Postgresql em outra porta
nDBConnection = SQLConnect(sServerIP,sUser,sPassword,sDBName,"PostgreSQL","","Server Port = 15433")
Boller
12 04 2023

Última modificación: 27/05/2022

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