问题标签 [data-access-object]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
224 浏览

scala - Scala Play 未来的相互依赖

我正在为我的 scala Play 使用 play-slick!虚拟休息 API。

所以,我必须从多个表中获取记录。但是,它们是相互依赖的,即

要从 Table_2 中获取记录,我必须从 Table_1 中获取记录,然后使用 id2 从 Table_2 中获取。

我的控制器:

编译后,我得到:

这是我的 DAO 方法:

PS:我对功能范式和scala非常陌生,所以如果可以,请原谅我的无知。

0 投票
1 回答
1570 浏览

java - 使用 dao 创建并获取 id 的 junit 测试

我有这项服务,我需要为其创建单元测试:

现在,问题是,在实际情况下,DAO 创建会为对象分配 ID,但是如何通过单元测试设置对象 ID?

0 投票
1 回答
737 浏览

c# - 在 C# 上使用 DAO 在 Access 中写入大量记录

我的问题如下:Writing large number of records (bulk insert) to Access in .NET/C#

我试过用DAO指示的方法。起初,它不起作用,出现此错误:)Retrieving the COM class factory for component with CLSID {681EF637-F129-4AE9-94BB-618937E3F6B6} failed due to the following error: 80040154.我已经搜索并找到了带有注册表项的解决方案,它可以工作,但是当我在另一台 PC 上尝试时,该功能使我的应用程序崩溃。

有我的代码和它失败的地方:

我也尝试过这个解决方案:如何修复 COMException 错误 80040154?

它仍然可以在我的计算机上运行,​​但在其他计算机上无效。而且我不知道如何对每台计算机上的注册表进行所有操作以使其正常工作(我也不想要这个解决方案,因为这将花费大量时间)

我知道这是某个地方的 32-64 位问题,但是如果 x86 构建在其他计算机上不起作用……我应该如何解决这个问题?

这是我在这个网站上的第二个问题,如果我的问题有问题,请告诉我,我会尽一切可能纠正它:)

0 投票
2 回答
809 浏览

unit-testing - 测试数据访问对象

在测试 DAO 时,我遵循以下规则:

  • 使用内存数据库
  • 为每次测试重置数据库数据

这适用于从数据库中进行选择。我使用选择所需的数据设置数据库,调用我的 DAO 并验证返回的对象是否具有正确的值。

但是在测试插入、更新和删除时,它会变得很难看。我必须编写一个自定义选择语句来验证,在我的数据库中插入/更新/删除了正确的数据。因此,当我完成编写测试时,我也可以再次测试我的测试。

网络上的一些人建议从字面上模拟一切,但这并不能真正测试任何东西。

那么,如何测试 DAO?

0 投票
1 回答
166 浏览

vba - Findfirst 不正确地匹配长整数

目标:使用查询字符串设置记录集,然后执行FindFirst = number以在记录集中查找特定 ID 并因此记录。

问题:记录集生成正确但FindFirst一致,不正确地匹配低于某个值的 ID。

描述:当我创建一个记录集内部(或左或右)加入 Task 和 Task_Entry 匹配特定的 CycleID 和 TaskDataID 值时,我得到一个记录列表(在我的记录集中,我确保 TaskID 没有歧义)。如果我FindFirst有任何低于 1469 的值FindFirst,则每次都返回 1469 记录。请参阅下面的示例记录和结构。

原始查询(放入 a CurrentDB.OpenRecordset()):
"SELECT Datetime, TaskDataID, SigID, Task_Entry.* FROM Task INNER JOIN Task_Entry ON Task_Entry.TaskID = Task.TaskID WHERE Task.CycleID = " & inputCycleID & " AND Task.TaskDataID = " & inputTaskDataID & " ORDER BY Task.TaskID"

表结构

  • 通过自动编号 ID 字段绑定的两个表:
  • 任务包含一般任务信息(日期时间、签名 ID 等)
  • Task_Entry 包含条目特定信息的子集
  • 并非 Task 中的所有记录都与 Task_Entry 相关

示例记录
任务TaskID、Datetime、TaskDataID、CycleID、SigId
1447 03/09/16 15 7 1495 (TaskDataID 不同)
……其他记录
1469 03/15/16 15 8 1518
……其他记录

Task_Entry:任务ID 、数据1、
数据2 1447 929 930.5
1469 919 922

故障排除

  • 最初FindFirst在 VBA 中使用:rst.FindFirst "TaskID = " & inputTaskID其中 inputTaskID 是一个变体。
    • 数据类型无关紧要。强制数据类型为 Long 并且仍然以某种方式匹配 1447 到 1469。
  • 将记录集更改为仅返回 TaskID = inputTaskID。
    • "SELECT Datetime, TaskDataID, SigID, Task_Entry.* FROM Task INNER JOIN Task_Entry ON Task_Entry.TaskID = Task.TaskID WHERE Task.TaskID = " & inputTaskID
    • 这行得通;返回与 inputTaskID 匹配的一条记录。
    • 我有返回整个集合匹配 CycleID 和 TaskDataID 的用例,所以我仍然想知道为什么这不起作用。
0 投票
1 回答
76 浏览

ms-access - 枚举 Access RecordSource 的字段的最有效方法是什么?

访问表单或报表的RecordSource可以是表或查询。表可以是本地的或链接的(并且可能包含计算字段),并且查询可以引用其他查询和其他表。此外,查询可以使用“*”选择、用户定义函数 (UDF) 甚至远程连接的源。交叉表查询可以具有由字段中的值确定的字段名称,因此,交叉表字段名称可以随着数据的变化而变化。

我试图找到最有效的“轻触”方式来确定给定 RecordSource 的字段名称,并考虑以下因素:

  • 包含用户定义函数的查询在确定字段名称时不应调用函数,因此记录集方法不适合。

  • 不应在底层对象上加锁

  • 理想情况下,数据库不会处于独占模式

  • 理想情况下不应打开与链接表的连接,也不应触发远程表上的任何触发器。如果可能,应在不访问远程数据源的情况下确定字段。

  • 字段名称是必需的,字段类型和属性会很好。字段描述将是一个奖励。

  • 我担心交叉表查询可能会打开基础表和/或运行 UDF(正如我在测试中所做的那样),所以我准备跳过枚举交叉表查询的字段,尽管我不一定知道查询是否有作为交叉表查询的源...

我不确定使用 DAO TableDef 和 QueryDef 是否足够,或者我是否应该探索 ADO 模式和目录,或者其他一些方法?

这是一种非常基本的 DAO 方法,但我不相信它一定是最快的,或者它是否是轻触式的。

0 投票
1 回答
7855 浏览

sql - 使用 VBA-Excel 跨多个数据库进行 SQL 查询

使用 Excel 2010、SQL 和 DAO

我正在尝试对驻留在当前电子表格之外的表执行查询。这将是微不足道的,在 Access 内部,有链接的表/数据库,但是在 excel 中使用 VBA,我被阻碍了。

假设这些:

我想在第三个 excel 文件中执行一个查询,类似于这样 [使用点符号进行解释,而不是编码......] - 一个简单的例子:

基本上,我想复制 Access 将为该链接文件本地执行的操作。

指向正确方向的指针?

[[ 我可以使用一个指针来说明为什么在 Excel2010 上使用宏文件在连接中使用“Excel 8.0 ...”可以工作或失败,以及如何在对用户关闭的网络/系统中加载 12 或 14 变体... . ]]

0 投票
1 回答
242 浏览

spring - @Inject 多个 DAO

我会在同一个服务类中注入两个 DAO,我这样做如下:

这是正确的方法吗?

事实上,我尝试创建一个 TestData 类来初始化 HSQL 数据库的一些记录。

所以,我注入了两个 DAO,然后我用它们来创建用户,它是练习。

当我尝试通过 HTTP URL 调用 getExercices 或 getUsers REST 服务时,出现了 500 状态的错误:

0 投票
1 回答
373 浏览

dao - 在 Bonita 中使用 DAO 创建和保存 BDM

如何使用 Bonita 提供的数据访问对象 (DAO) 变量来创建业务数据模型 (BDM) 对象的新实例并将其持久化。

0 投票
1 回答
892 浏览

excel - 使用 vba 和 SQL 将 CSV(分隔)导入 DAO 数据库时出错

我被使用 VBA 代码的 CSV 文件的 SQL 介导导入所阻碍。我正在使用第三个 EXCEL 宏/电子表格来分析 2 个文件的 LEFT JOIN,一个作为 XLXS,另一个作为 CSV。

我怀疑部分问题可能是如何使用 SQL 命令来获取对 Excel 文件的 FROM 引用。我正在使用 Excel VBA,2010,14 数据库访问引擎。

我想以从外部逗号分隔的 CSV 文件中提取的 SQL 语句结束

我预计在启用宏的独立 excel 文件中使用此伪代码标题宏:

对于 SQL 语句,在伪代码中,我想要这个:

我可以在一个简单的 SQL 语句中独立地成功导入 XLXS 或 CSV,但是当我将外部文件引用放在 SQL 的 FROM 子句中时,我会遇到两个错误之一,具体取决于我使用代码的方式:无效的文件路径,或 FROM 子句中的错误。路径是无效的。

错误显示在下面的记录集指令中发生的位置。

我还提供了替代的 SQL 字符串,我曾用它来测试代码中生成错误的位置。