Экспортирует таблицу или результат выполнения SQL-запроса в CSV-файл. Файл создается в кодировке UTF-8.
long DatabaseExport(
|
Параметры
database
[in] Хендл базы данных, который получен в DatabaseOpen().
table_or_sql
[in] Имя таблицы или текст SQL-запроса, результаты которого будут экспортированы в указанный файл.
filename
[in] Имя файла для экспорта данных. Путь задается относительно папки MQL5\Files.
flags
[in] Комбинация флагов, определяющая вывод в файл. Флаги определены следующим образом:
DATABASE_EXPORT_HEADER – выводить строку с именами полей
DATABASE_EXPORT_INDEX – выводить номера строк
DATABASE_EXPORT_NO_BOM – не вставлять метку BOM в начале файла (по умолчанию BOM вставляется)
DATABASE_EXPORT_CRLF – для переноса строки использовать CRLF (по умолчанию LF)
DATABASE_EXPORT_APPEND – дописывать данные в конец существующего файла (по умолчанию файл перезаписывается). Если файл не существует, то он будет создан.
DATABASE_EXPORT_QUOTED_STRINGS – выводить строковые значения в двойных кавычках.
DATABASE_EXPORT_COMMON_FOLDER - CSV-файл будет создан в общей папке всех клиентских терминалов \Terminal\Common\File.
separator
[in] Разделитель данных. Если указан NULL, то в качестве разделителя будет использоваться символ табуляции '\t'. Пустая строка "" считается допустимым разделителем, но полученный CSV-файл не может быть прочитан как таблица – это будет набор строк.
Возвращаемое значение
Возвращает количество экспортированных записей или отрицательное значение в случае ошибки. Для получения кода ошибки используйте GetLastError(), возможные ответы:
Примечание
Если экспортируются результаты запроса, то SQL-запрос должен начинаться с "SELECT" или "select". Другими словами, SQL-запрос не может изменять состояние базы данных, в противном случае DatabaseExport() завершится ошибкой.
Строковые значения в базе данных могут содержать символ перевода ('\r' или '\r\n' ), а также символ разделителя значений, заданный в параметре separator. В этом случае нужно обязательно использовать флаг DATABASE_EXPORT_QUOTED_STRINGS в параметре flags. При наличии этого флага все выводимые строки будут заключены в двойные кавычки, если же в строке содержится двойная кавычка, то она будет заменена на две двойные кавычки.
Смотри также