Compartir a través de


SQLEXEC( ) (Función)

Envía una instrucción SQL al origen de datos, donde se procesa la instrucción.

SQLEXEC(nConnectionHandle, [cSQLCommand, [cCursorName]])

Valores devueltos

Numeric

Parámetros

  • nConnectionHandle
    Especifica el identificador de conexión al origen de datos devuelto por SQLCONNECT( ).

  • cSQLCommand
    Especifica la instrucción SQL transferida al origen de datos.

    La instrucción SQL puede contener una cláusula WHERE parametrizada, que crea una vista parametrizada. Todos los parámetros de la cláusula WHERE deben definirse antes de ejecutar SQLEXEC( ). Por ejemplo, si los parámetros son variables, éstas deberán crearse e inicializarse antes de ejecutar SQLEXEC( ).

    Para obtener información adicional acerca de cómo crear vistas parametrizadas, vea Crear vistas.

  • cCursorName
    Especifica el nombre del cursor de Visual FoxPro al que se envía el conjunto de resultados. Si no incluye un nombre de cursor, Visual FoxPro utilizará el nombre predeterminado SQLRESULT.

    Para varios conjuntos de resultados, se obtienen nuevos nombres de cursor agregando un número incrementado al nombre del primer cursor.

Observaciones

SQLEXEC( ) devuelve el número de conjuntos de resultados si hay más de uno. SQLEXEC( ) devuelve 0 mientras continúa ejecutándose y devuelve 1 cuando termina de ejecutarse. SQLEXEC( ) devuelve – 1 si se produce un error de nivel de conexión.

Si se utiliza SQLEXEC( ) para ejecutar una instrucción SQL preparada con SQLPREPARE( ), sólo se necesitará el argumento nConnectionHandle del identificador de conexión. Deberá omitir los argumentos cSQLCommand y CursorName.

Si la instrucción SQL genera un conjunto de resultados, SQLEXEC( ) almacena el conjunto de resultados en el cursor especificado de Visual FoxPro. Si la instrucción SQL genera dos o más conjuntos de resultados y SQLSETPROP( ) se establece en 1 (modo por lotes), puede asignar un nombre a cada conjunto de resultados estableciendo la opción SQLSETPROP( ) BatchMode en 0 y cambiando el nombre del cursor cada vez que llame a SQLMORERESULTS( ).

SQLEXEC( ) es una de las cuatro funciones que puede ejecutar en modo síncrono o asíncrono. La configuración Asíncrona de SQLSETPROP( ) determina si estas funciones se ejecutan en modo síncrono o asíncrono. En modo asíncrono, debe llamar a SQLEXEC( ) repetidamente hasta que devuelva un valor distinto de 0 (sigue ejecutándose).

Ejemplo

En el ejemplo siguiente se supone que SQLCONNECT( ) se ejecuta correctamente y su valor devuelto se almacena en una variable de memoria llamada gnConnHandle.

SQLEXEC( ) se usa para ejecutar una consulta que devuelve toda la información de la tabla authors en un cursor llamado MyCursor.

= SQLSETPROP(gnConnHandle, 'asynchronous', .F.)
= SQLEXEC(gnConnHandle, 'SELECT * FROM authors', 'MyCursor')

Vea también

AERROR( ) | SQLCANCEL( ) | SQLGETPROP( ) | SQLMORERESULTS( ) | SQLPREPARE( ) | SQLSETPROP( )