问题标签 [tadoquery]

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 投票
3 回答
2596 浏览

delphi - TADOQuery 过滤器和表达式始终为真

我正在尝试从 TADOQuery 中过滤一些记录。我将过滤属性设置为 true,当我将过滤器设置为 field='value' 时,一切正常。我想通过附加来动态构建这个过滤器

到一个值总是正确的,我认为 1=1 就可以了。所以我将 1=1 作为默认过滤器,然后AND field='value'根据需要附加到它。

但是,这不起作用。错误消息如下:

参数类型错误、超出可接受范围或相互冲突。

谁能告诉我我可以用什么作为这个过滤器的通用永远为真表达式?

0 投票
4 回答
4730 浏览

delphi - 如何实现独立克隆的TADODataSet?

场景是这样的:

我们有一些 SQL 表。我们正在对该表执行 SQL 查询,并在 TADOQuery 对象中得到结果。

因此,在克隆 DataSet 后,我​​的 qryClone 应该保存独立的数据(至少我是这么认为的)。但是,对 qryOryginal 执行删除会导致对 qryClone 执行相同的操作。我不想要那个。

有任何想法吗?

我知道我可以将数据存储在其他地方,也许在 TClientDataSet 中,但我想先尝试上述解决方案。

在此先感谢您的时间。

0 投票
2 回答
1206 浏览

xml - Delphi TADOQuery SaveToFile 问题

我编写了一个应用程序,允许用户创建和运行查询,然后将报告保存到文件中。他们可以在以后从文件中加载报告并在屏幕上查看。

我使用 TADOQuery 组件来运行查询,并在查询返回数据时调用 SaveToFile。然后我使用 LoadFromFile 将数据加载回 TADOQuery 并从那里,我可以将数据读入虚拟列表视图。在这两种情况下,我都将“pfXML”指定为格式参数。

用户报告了一个问题,即报告中的一个字段显示垃圾而不是可读文本。经过调查,该特定字段的 xml 文档中的字段定义被指定为“dt:type='bin.hex'”。当我在这里的系统上运行相同的查询时,我的 xml 文档中的字段定义被指定为“dt:type='string'”。

因此,我的问题是为什么会有区别?数据库是相同的,那么为什么在用户的系统上将数据保存为 bin.hex 而在其他人的系统上保存为字符串?也许更重要的是,数据类型是如何确定的?当我调用 SaveToFile 时,TADOQuery 组件如何知道数据类型是什么,以及它应该将什么作为数据类型写入 xml 文档?

是数据以十六进制格式发送回 PC,TADOQuery 组件从中得到提示,还是(出于某种原因)认为该字段的数据类型是十六进制并且它更改了数据适合?

我在网上找不到任何关于此的信息,也无法弄清楚发生了什么,因此我们将不胜感激。

0 投票
2 回答
633 浏览

delphi - 2 TADOQUERY master and Detail tablefilter insert

我如何使用 2 个 Tadoquery 并像 Tadoquery(主)Tadotable(详细)一样工作!

0 投票
1 回答
314 浏览

delphi - 有没有办法从 TADOQuery1 更新或插入 TADOQuery

我有 nou 2 查询的 TADOQuery 和 TADOQuery1,我想通过代码从 TADOQuery1 更新 TADOQuery 记录是否可能?他们有相同的领域

谢谢ML

0 投票
2 回答
1312 浏览

delphi - 如何将 NOLOCK 与 TADOQuery 和 TADOTable 一起使用?

我有 SQL 文本“SELECT * FROM TABLE1 WITH (NOLOCK)”。

两个问题:

  1. 如何让我的 TADOQuery 使用 NOLOCK 提示,而不必在 SQL 文本中包含它?我实际上有数千个 TADOQuery 的 SQL 是动态构建的,而且很难将 WITH (NOLOCK) 添加到所有这些中,更不用说我与 MSSQL 以外的数据库平台一起使用了。有 TADOQuery 属性吗?

  2. 如何使用 TADOTable 实现相同的目标?TADOTable 没有任何 SQL,那么如何告诉它使用 NOLOCK 提示呢?

谢谢

0 投票
2 回答
1159 浏览

delphi - 插入到不同的表 onNewRecord

得到一个具有 OnNewRecord 事件的 ADOQuery。

在该过程中,我尝试将数据自动添加到另一个表中。在取消的情况下,数据是需要在 clientDataSet 中处理的几行。

在当地

其他AdoQuery.insert;

我收到 ADOQuery 未能将 null 插入非 null 字段的错误。我处于插入模式,但我从未要求 DELPHI 发布!我不明白它为什么发帖。

编辑:你能帮我找到这个问题的提示吗?

更多说明:

ADOQuery.onNewRecord();

开始

客户数据集.插入;//这里是为 ADOQueryPost 发布的。ClientDataSet 处于浏览状态的位置

结尾;

编辑:

这个错误没有意义!查看堆栈跟踪:

  • 事前事后
  • 新纪录
  • 我的函数

其中 myFunc 确实会导致带有插入的 NewRecord。

0 投票
1 回答
4023 浏览

delphi - adoQuery 过滤器

您能否提供一个在 Delphi 7 中使用 ADOQuery 的 Filter 属性的简单示例?

谢谢。

0 投票
1 回答
1002 浏览

database - ADOQuery 和 DBNavigator

好的。我有简单的数据库、DBGrid 和 DBNavigator。我将此代码用于我的 adoquery 并在我的 DBGrid 中查看

select Count(*)As 1 , 2 3 from Table1 Group by 1, 2

问题是,如果我有两个或更多来自 1 的相同文章,并且我尝试从 DBnavigator 中删除它,它会发送给我

键列信息不足或不正确。更新影响的行数过多。我想删除两行或更多行。不仅仅是一个。如何解决?

0 投票
2 回答
1561 浏览

multithreading - 在线程中使用 TADOQuery

我正在编写应用程序,它连接到数据库并重复(1 分钟间隔)从数据库中读取数据。它类似于 RSS 提要阅读器,但具有本地数据库。如果数据读取失败,我尝试重新建立连接。我设计它时将 TADOConnection 和 TADOQuery 放在表单上(因此没有动态创建)。我的目标是从用户的角度保持应用程序“活跃”,因此我将连接和阅读部分放在一个线程中。问题是,如何做到最好?

我的设计如下所示:

  • 应用程序启动时,TADOConnection 和 TADOQuery 与表单一起创建
  • 在单独的线程中打开连接 (TADOConnection)
  • 如果连接建立,则挂起连接线程,在窗体上启动定时器,它会周期性地恢复另一个线程进行数据读取
  • 如果读取线程成功,则没有任何反应,并且表单计时器继续运行,如果失败,则线程停止计时器并恢复连接线程

动态创建 TADOConnection 或 TADOQuery 更好还是无关紧要?在线程中使用例如关键部分是否更好(我同时只有一个组件访问权限并且只有一个线程)?

感谢您的建议