【问题标题】:Delphi - Passing query results between units?Delphi - 在单元之间传递查询结果?
【发布时间】:2015-12-22 17:51:28
【问题描述】:

在一个单元中,我正在运行一个查询,该查询将从数据库中返回一个用户的详细信息。现在我正在考虑创建一个用户对象并将查询结果分配给不同的属性,即作为全局变量的设置。我想知道是否有一种方法可以在单元之间传递数据而不必使用全局变量。

【问题讨论】:

  • 使用公共财产怎么样?
  • 将查询放入一个数据模块中,然后将该数据模块添加到需要访问查询结果的单元中。查询本身就是共享容器。
  • 学习面向对象编程,学习创建类,并让这些类交互。这种交互的一种模式是 MVVM,另一种称为 MVC,您甚至可以发明和使用自己的交互模式。其中一些类将从 TForm 继承,可能称为 Views,还有一些是从 TDataModule 继承并包含查询的数据访问层对象。在这两者之间,您可能需要控制器或其他东西。

标签: delphi


【解决方案1】:

避免使用全局变量实际上是一个好主意。此外,将查询结果存储为(独立于数据库的)对象的属性是有意义的,因为当连接不活动时,应用程序也可能需要该信息。

为了避免全局变量,最简单的方法是将对象设为主表单(或数据模块)的字段,并使用 Getter 方法将其(及其字段)设为只读。我还将实现将数据集值作为单独的类加载到对象属性中的过程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-30
    • 2018-03-18
    • 2018-04-17
    • 2011-10-25
    • 2021-04-05
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    相关资源
    最近更新 更多