问题标签 [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.
delphi - TADOQuery 过滤器和表达式始终为真
我正在尝试从 TADOQuery 中过滤一些记录。我将过滤属性设置为 true,当我将过滤器设置为 field='value' 时,一切正常。我想通过附加来动态构建这个过滤器
到一个值总是正确的,我认为 1=1 就可以了。所以我将 1=1 作为默认过滤器,然后AND field='value'
根据需要附加到它。
但是,这不起作用。错误消息如下:
参数类型错误、超出可接受范围或相互冲突。
谁能告诉我我可以用什么作为这个过滤器的通用永远为真表达式?
delphi - 如何实现独立克隆的TADODataSet?
场景是这样的:
我们有一些 SQL 表。我们正在对该表执行 SQL 查询,并在 TADOQuery 对象中得到结果。
因此,在克隆 DataSet 后,我的 qryClone 应该保存独立的数据(至少我是这么认为的)。但是,对 qryOryginal 执行删除会导致对 qryClone 执行相同的操作。我不想要那个。
有任何想法吗?
我知道我可以将数据存储在其他地方,也许在 TClientDataSet 中,但我想先尝试上述解决方案。
在此先感谢您的时间。
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 组件从中得到提示,还是(出于某种原因)认为该字段的数据类型是十六进制并且它更改了数据适合?
我在网上找不到任何关于此的信息,也无法弄清楚发生了什么,因此我们将不胜感激。
delphi - 2 TADOQUERY master and Detail tablefilter insert
我如何使用 2 个 Tadoquery 并像 Tadoquery(主)Tadotable(详细)一样工作!
delphi - 有没有办法从 TADOQuery1 更新或插入 TADOQuery
我有 nou 2 查询的 TADOQuery 和 TADOQuery1,我想通过代码从 TADOQuery1 更新 TADOQuery 记录是否可能?他们有相同的领域
谢谢ML
delphi - 如何将 NOLOCK 与 TADOQuery 和 TADOTable 一起使用?
我有 SQL 文本“SELECT * FROM TABLE1 WITH (NOLOCK)”。
两个问题:
如何让我的 TADOQuery 使用 NOLOCK 提示,而不必在 SQL 文本中包含它?我实际上有数千个 TADOQuery 的 SQL 是动态构建的,而且很难将 WITH (NOLOCK) 添加到所有这些中,更不用说我与 MSSQL 以外的数据库平台一起使用了。有 TADOQuery 属性吗?
如何使用 TADOTable 实现相同的目标?TADOTable 没有任何 SQL,那么如何告诉它使用 NOLOCK 提示呢?
谢谢
delphi - 插入到不同的表 onNewRecord
得到一个具有 OnNewRecord 事件的 ADOQuery。
在该过程中,我尝试将数据自动添加到另一个表中。在取消的情况下,数据是需要在 clientDataSet 中处理的几行。
在当地
其他AdoQuery.insert;
我收到 ADOQuery 未能将 null 插入非 null 字段的错误。我处于插入模式,但我从未要求 DELPHI 发布!我不明白它为什么发帖。
编辑:你能帮我找到这个问题的提示吗?
更多说明:
在
ADOQuery.onNewRecord();
开始
客户数据集.插入;//这里是为 ADOQueryPost 发布的。ClientDataSet 处于浏览状态的位置
结尾;
编辑:
这个错误没有意义!查看堆栈跟踪:
- 事前事后
- 新纪录
- 我的函数
其中 myFunc 确实会导致带有插入的 NewRecord。
delphi - adoQuery 过滤器
您能否提供一个在 Delphi 7 中使用 ADOQuery 的 Filter 属性的简单示例?
谢谢。
database - ADOQuery 和 DBNavigator
好的。我有简单的数据库、DBGrid 和 DBNavigator。我将此代码用于我的 adoquery 并在我的 DBGrid 中查看
select Count(*)As 1 , 2 3 from Table1 Group by 1, 2
问题是,如果我有两个或更多来自 1 的相同文章,并且我尝试从 DBnavigator 中删除它,它会发送给我
键列信息不足或不正确。更新影响的行数过多。我想删除两行或更多行。不仅仅是一个。如何解决?
multithreading - 在线程中使用 TADOQuery
我正在编写应用程序,它连接到数据库并重复(1 分钟间隔)从数据库中读取数据。它类似于 RSS 提要阅读器,但具有本地数据库。如果数据读取失败,我尝试重新建立连接。我设计它时将 TADOConnection 和 TADOQuery 放在表单上(因此没有动态创建)。我的目标是从用户的角度保持应用程序“活跃”,因此我将连接和阅读部分放在一个线程中。问题是,如何做到最好?
我的设计如下所示:
- 应用程序启动时,TADOConnection 和 TADOQuery 与表单一起创建
- 在单独的线程中打开连接 (TADOConnection)
- 如果连接建立,则挂起连接线程,在窗体上启动定时器,它会周期性地恢复另一个线程进行数据读取
- 如果读取线程成功,则没有任何反应,并且表单计时器继续运行,如果失败,则线程停止计时器并恢复连接线程
动态创建 TADOConnection 或 TADOQuery 更好还是无关紧要?在线程中使用例如关键部分是否更好(我同时只有一个组件访问权限并且只有一个线程)?
感谢您的建议