In bảng và truy vấn SQL ra nhật ký
Nếu cần, một chương trình MQL có thể xuất nội dung của một bảng hoặc kết quả của một truy vấn SQL ra nhật ký bằng cách sử dụng hàm DatabasePrint
.
long DatabasePrint(int database, const string table_or_sql, uint flags)
Handle cơ sở dữ liệu được truyền vào tham số đầu tiên, tiếp theo là tên bảng hoặc văn bản truy vấn (table_or_sql
). Truy vấn SQL phải bắt đầu bằng SELECT
hoặc select
, tức là nó không được thay đổi trạng thái của cơ sở dữ liệu. Nếu không, hàm DatabasePrint
sẽ kết thúc với lỗi.
Tham số flags
chỉ định một tổ hợp các cờ xác định định dạng của đầu ra.
- DATABASE_PRINT_NO_HEADER — không hiển thị tên cột bảng (tên trường)
- DATABASE_PRINT_NO_INDEX — không hiển thị số dòng
- DATABASE_PRINT_NO_FRAME — không hiển thị khung phân cách tiêu đề và dữ liệu
- DATABASE_PRINT_STRINGS_RIGHT — căn chỉnh chuỗi sang phải
Nếu flags = 0
, thì các cột và hàng được hiển thị, tiêu đề và dữ liệu được phân cách bằng một khung, và các hàng được căn chỉnh sang trái.
Hàm trả về số bản ghi được hiển thị hoặc -1 trong trường hợp có lỗi.
Chúng ta sẽ sử dụng hàm này trong phần tiếp theo.
Thật không may, hàm này không cho phép xuất các truy vấn đã chuẩn bị với tham số. Nếu có tham số, chúng sẽ cần được nhúng vào văn bản truy vấn ở cấp độ MQL5.