Imprimir tablas y consultas SQL en registros

Si es necesario, un programa MQL puede mostrar el contenido de una tabla o los resultados de una consulta SQL en un registro mediante la función DatabasePrint.

long DatabasePrint(int database, const string table_or_sql, uint flags)

El manejador de la base de datos se pasa en el primer parámetro, seguido del nombre de la tabla o del texto de la consulta (table_or_sql). La consulta SQL debe empezar por «SELECT» o «select», es decir, no debe cambiar el estado de la base de datos. De lo contrario, la función DatabasePrint finalizará con un error.

El parámetro flags especifica una combinación de banderas que determinan el formato de la salida.

  • DATABASE_PRINT_NO_HEADER - no mostrar los nombres de columna de la tabla (nombres de campo)
  • DATABASE_PRINT_NO_INDEX - no mostrar números de línea
  • DATABASE_PRINT_NO_FRAME - no mostrar un marco que separe el encabezado de los datos.
  • DATABASE_PRINT_STRINGS_RIGHT - alinear cadenas a la derecha

Si flags = 0, entonces se muestran las columnas y las filas, el encabezado y los datos están separados por un marco, y las filas están alineadas a la izquierda.

La función devuelve el número de registros visualizados, o -1 en caso de error.

Utilizaremos la función en la siguiente sección.

Lamentablemente, la función no permite una salida de consultas preparadas con parámetros. Si hay parámetros, tendrán que incrustarse en el texto de la consulta en el nivel MQL5.