As funções de banco de dados usam o SQLite, um mecanismo popular e fácil de usar. Esse mecanismo é conveniente porque todo o banco de dados fica em um único arquivo no computador do usuário.
Usando essas funções, é fácil criar tabelas, adicionar dados a elas, fazer modificações e fazer seleções com consultas SQL simples:
Além disso, você pode usar em consultas funções estatísticas e matemáticas.
As funções para trabalhar com bancos de dados permitem substituir as operações mais repetitivas, quanto ao processamento de grandes matrizes de dados, por consultas SQL, o que permite, em muitos casos, usar chamadas em vez de programar loops e comparações complexas DatabaseExecute/DatabasePrepare. Para obter convenientemente os resultados de consulta em uma estrutura pronta, use a função DatabaseReadBind, que permite ler todos os campos de registro em uma chamada diretamente.
Para acelerar as operações de leitura, gravação e modificação, o banco de dados pode ser aberto/criado no banco de dados online com o sinalizador DATABASE_OPEN_MEMORY, sendo que esse banco de dados estará disponível apenas para esse programa específico e não será compartilhado com ninguém. Ao trabalhar com bancos de dados localizados no disco rígido, é necessário embrulhar grandes inserções/alterações de dados em uma transação usando DatabaseTransactionBegin/DatabaseTransactionCommit/DatabaseTransactionRollback, o que fornece aceleração centenas de vezes.
Para começar a trabalhar com estas funções, basta ler o artigo SQLite: trabalho nativo com bancos de dados SQL em MQL5.
Função |
Ação |
|---|---|
Abre ou cria um banco de dados no arquivo especificado |
|
Fecha um banco de dados |
|
Importa para uma tabela dados de um arquivo |
|
Exporta uma tabela ou resultado sobre a execução da consulta SQL para um arquivo CSV |
|
Exibe uma tabela ou resultado sobre a execução da consulta SQL no log do EA |
|
Verifica a existência de tabela no banco de dados |
|
Executa uma consulta no banco de dados especificado |
|
Cria um identificador de consulta, que pode ser executado usando DatabaseRead() |
|
Redefine a consulta para seu status inicial, como após uma chamada de DatabasePrepare() |
|
Define o valor do parâmetro na consulta |
|
Define a matriz como um valor de parâmetro |
|
Realiza o a transição para o próximo registro como resultado de uma consulta |
|
Moves to the next record and reads data into the structure from it |
|
Exclui uma consulta criada em DatabasePrepare() |
|
Inicia a execução da transação |
|
Conclui a execução da transação |
|
Executa a reversão de transações |
|
Obtém o número de campos na consulta |
|
Obtém o nome do campo pelo número |
|
Obter tipo de campo por número |
|
Obtém o tamanho do campo em bytes |
|
Obtém o valor do campo do registro atual como uma string |
|
Obtém um valor int do registro atual |
|
Obtém um valor long do registro atual |
|
Obtém um valor double do registro atual |
|
Obtém o valor do campo do registro atual como um array |
Exemplo:
select
|