- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在同一个应用程序中使用多个数据库。我正在使用来自两家不同公司的驱动程序。两家公司都有运行良好的 tTable 和 tQuery Descendants。
我需要一种方法来对数据进行通用访问,而不管我使用哪个驱动程序/tQuery 组件返回一组数据。此数据不会绑定(bind)到组件,只绑定(bind)到我的逻辑。
例如...(伪代码)让我们创建一个可以针对任一 tQuery 组件运行的函数
function ListAllTables(NameOfDatabase : String) :ReturnSet??
begin
If NameOfDataBase = 'X' then use tQuery(Vendor 1)
else use tQuery(Vendor 2)
RunQuery;
Return Answer...
end;
当正常运行查询时,我会这样做
Query.Open;
While not Query.EOF do
begin
Read my rows..
next;
end;
如果我正在调用 ListAllTables,我的返回类型是什么以便我可以遍历行?每个 tQuery 供应商都是不同的,所以我不能使用它(我可以吗,如果是的话,我想要吗?)我可以构建一个内存表,然后将其传回,但这似乎是 ListAllRows 构建一个内存表,然后将其传递回调用例程,以便它可以“取消构建”,即遍历行...
您有什么想法和建议?谢谢GS
最佳答案
几乎所有的 Delphi 数据集都源自 TDataset,并且大多数有用的行为都是在 TDataset 上定义的。
因此,如果您将每个表或查询分配给一个 TDataset 类型的变量,您应该能够以供应商中立的方式对该数据集执行您的逻辑。
我还将数据集的生成隔离到一组工厂函数中,这些函数仅创建特定于供应商的数据集并将其作为 TDataset 返回。每个工厂功能都在它自己的单元中。然后,只有那些小单位需要了解供应商特定组件。
关于Delphi - 如何通用化查询结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7870185/
我的表格包含这 3 个实体:学生、讲师和个人。人将是拥有学生和讲师共同属性的 parent 。这是我的数据库设计,这是实现特化的正确方法吗? 人 personID int 主键, 作用 varchar
我在原始 Windows 2016 服务器测试网站上配置了 SSL 以使用 HTTPS 流量。 通用化虚拟机后,当我从通用 VHD 创建新的 Windows 虚拟机时,我无法浏览 HTTPS 流量。
我是一名优秀的程序员,十分优秀!