将表和 SQL 查询打印到日志
如果需要,MQL 程序可以使用 DatabasePrint 函数将表的内容或 SQL 查询的结果输出到日志。
long DatabasePrint(int database, const string table_or_sql, uint flags)
第一个参数传递数据库句柄,后跟表名或查询文本 (table_or_sql)。SQL 查询必须以 "SELECT" 或 "select" 开头,也就是说不能更改数据库的状态。否则,DatabasePrint 函数将以错误结束。
flags 参数指定了决定输出格式的标志组合。
- DATABASE_PRINT_NO_HEADER – 不显示表列名(字段名)
- DATABASE_PRINT_NO_INDEX – 不显示行号
- DATABASE_PRINT_NO_FRAME – 不显示分隔标头和数据的框架
- DATABASE_PRINT_STRINGS_RIGHT – 字符串进行右对齐
如果 flags = 0,则显示列和行,标头和数据由框架分隔,并且行进行左对齐。
函数返回显示的记录数,如果出错则返回 -1。
我们将在下一节中使用该函数。
遗憾的是,该函数不允许输出带有参数的 预置查询 。如果存在参数,则需要在 MQL5 级别将它们嵌入到查询文本中。