文章 "SQLite: MQL5 原生 SQL 数据库操纵" - 页 3

 
GEORGI ANIKIN:

您好!

我试着在指标中创建与数据库的连接,但由于某些原因没有成功。

为什么没有在任何地方写明,我可以在哪些程序中使用数据库?

返回的错误是什么?

 
Rashid Umarov:

它返回什么样的错误?

我已经在帖子中展示了错误截图。

它找不到这样的函数。

下面是错误:

这是我在尝试编译指标。我应该在 Expert Advisor 和 Service 中试试。


事实上,您可以写出哪些 MQL5 程序可以使用数据库。在指标中使用它们也会非常方便。

 
GEORGI ANIKIN:

我已经在帖子中展示了错误的截图。

它找不到这样的功能。

以下是错误信息:

这是我在尝试编译指标。我应该在 Expert Advisor 和 Service 中试试。


事实上,您可以写出哪些 MQL5 程序可以使用数据库。在指标中使用它们也会非常方便。

程序的构建方式是什么?
 
MetaQuotes:
该计划由哪些部分组成?

版本 5.00,第 2361 版

 
GEORGI ANIKIN:

我已经在帖子中展示了错误的截图。

这不是一个错误。错误是通过GetLastError 调用的

 
Rashid Umarov:

这不是错误。错误是通过 GetLastError 调用的

我写道,错误发生在编译阶段。

 
GEORGI ANIKIN:

我写道,错误发生在编译阶段。

是的,我没注意到。

 
DatabasePrepare 查询的说明只在 SQLite 文档中提供吗?没有MQL5 文档
 
Документация по MQL5: Работа с базами данных / DatabaseReset
Документация по MQL5: Работа с базами данных / DatabaseReset
  • www.mql5.com
//| Script program start function                                    | "PATH           TEXT            ," "SPREAD         INT             ," //| Возвращает спецификацию символа в виде JSON                      | //| Формирует отступ из пробелов                                     |...
 

从文章中,我很难理解这个示例

//--- 创建一个查询并对其进行处理
   int request=DatabasePrepare(db, "SELECT * FROM COMPANY WHERE SALARY>15000");
   if(request==INVALID_HANDLE)
     {
      Print("DB: ", filename, " request failed with code ", GetLastError());
      DatabaseClose(db);
      return;
     }

该查询从数据库中选择数值大于 15000 的记录。另一个例子是选择总和...但我需要从数据库中选择最小/最大值。或者选择大于/小于零的值之和。我认为有这种可能性,但 MQL5 文档中没有足够的信息。从示例中提取信息对我来说很困难。但如果我没有...如果有必要,我会尝试找出答案。