问题标签 [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.
sql - Delphi 2010 中 TADOQuery 的数组参数
我需要执行一个简单的查询:
SELECT * FROM MyTable WHERE Id IN (:ids)
显然,它返回给定列表中具有主键“Id”的记录集。如何将整数 ID 数组传递给参数“ids”的 ADOQuery.Parameters?我试过 VarArray - 它不起作用。默认情况下,参数“ids”具有 FieldType = ftInteger,如果重要的话。
sql-server - ADO - 我可以使用多个连接语句编辑复杂查询的结果吗?
我正在开发一种数据转换实用程序,它可以将数据从一个主数据库推送到多个不同的数据库。该实用程序本身不知道数据如何保存在目标(表结构)中,但我想提供编写一个 SQL 语句以使用具有多个连接语句的复杂 SQL 查询从目标返回数据。只要数据采用实用程序可以在 ADO 查询中识别(字段名称)的标准化格式。
然后我想做的是修改此 ADO 查询中的实时数据。但是,由于有多个连接语句,我不确定是否可以这样做。我至少知道使用 BDE(我从未使用过 BDE),它非常严格,您必须返回所有字段 (*) 等。我知道 ADO 更灵活,但我不知道在这种情况下有多灵活。
TADOQuery
当结果包含来自不同表的字段时,是否可以以这种方式修改数据?即使是这样,假设我想在末尾附加一条新记录(TADOQuery.Append
)。它会附加到两个不同的表吗?
我选择的实际主表有一个由相同主键字段连接的补充表,一个是“小”表(简要信息),另一个是“详细”表(每个记录的更多信息小桌子)。因此,一个典型的陈述将包括这样的内容:
其他表中的记录还有许多其他连接,但我不担心附加到这些连接。我只担心同时附加到“小”和“详细”表。
在 ADO 查询中这样的事情可能吗?我愿意以任何必要的方式调整和修改 SQL 语句以使其成为可能。我有一种不好的感觉,虽然这是不可能的。
兼容性:
- SQL Server 2000 到 2008 R2
- 德尔福 XE2
delphi - 使用 Delphi 6 处理 Unicode 字符
我有一个在 Delphi 6 中开发的轮询应用程序。它读取文件,根据规范解析文件,执行验证并上传到数据库(SQL Server 2008 Express Edition)
我们必须为具有双字节字符集 (DBCS) 的操作系统提供支持,例如日文操作系统。因此,我们将 SQL Server 中的数据库字段从 varchar 更改为 nvarchar。
轮询在带有 DBCS 的操作系统中运行良好。如果系统区域设置为日文/中文/韩文并且操作系统具有相应的语言包,它也适用于非 DBCS 操作系统。但是,如果 Locale 设置为英语,那么数据库包含双字节字符的垃圾字符。
我进行了一些测试,但未能确定解决方案。
例如,如果我使用 TStringList 从UTF-8文件中读取数据并将其保存到另一个文件,则保存 Unicode 数据。但是,如果我使用文件的内容使用 TADOQuery 组件运行更新查询,则会显示垃圾字符。该数据库还包含垃圾字符。
PFB示例代码:
上面的代码在 DBCS 操作系统中运行良好。
我尝试过使用字符串、宽字符串和 UTF8String。但是,如果语言环境设置为英语,这在英语操作系统中不起作用。
请为此问题提供任何指示。
event-handling - TDataSet->Cancel() 仍然允许 Post 继续
我在一个 BeforePost 事件处理程序中,希望在帖子通过之前取消它。在我的 BeforePost 函数结束时,我调用 DataSet->Cancel(); 当通过这个进行调试时,我看到它从我的函数到 TDataSet.DoBeforePost 函数,然后到 TDataSet.Post;它调用 CheckOperation() 的地方。CheckOperation 抛出异常(我试图通过调用 Cancel() 来避免),因为数据输入错误并且用户看到此错误。
在这个操作顺序中我做错了什么吗?任何想法或指导将不胜感激。
delphi - 如何将 TMemo 组件中的多行添加到 MS Access 数据库?
我有一个 ADO 数据库,其中有一个名为 的表t_codemeaning
,下面是表结构:
我在我的ADOQuery1
.
我单击带有此 Delphi 脚本的按钮:
当我在备忘录中添加单行时,一切都很好。
但是当我在 memo1 中添加很多多行文本时,它会显示一个错误:
多步操作产生错误。检查每个状态值。
如何解决这个问题?
我的最后一个进展是,我创建了一个新的字符串变量 aValue 并将 memo1.lines.text 添加到其中:
我将 ADOQuery1codemeaning_description.value .... 的脚本更改为:
仍然有同样的错误......
mysql - Delphi 从 SQL 表中接收数据
我有一个需要从 MYSQL 数据库中获取和显示数据的表单。
我编写的 SQL 代码运行良好,因为我试图在 MYSQL 中执行它。
我还在另一种表单中使用了与我的表单中的代码类似的代码格式来获取和显示 SQL 数据。该代码以另一种形式完美运行。
但是,我的这个表单的代码似乎没有接收/显示来自 SQL 表的数据。
OnShow
这是为表单事件编写的代码片段。
delphi - Delphi7 TAdoQuery 中的多行参数
使用 Delphi 7 和 SQL Server 2005,我试图将多行参数(Stringlist.text)传递给 TAdoQuery 插入脚本。插入成功,但是当我从字段中取回数据时,我取
代替
表中的字段类型是 nvarchar(MAX),我无法将其更改为任何其他类型,该表不是我的。我试图将参数类型从宽字符串更改为 ftMemo,但没有任何变化。任何想法?
delphi - 在 Delphi 中使用 ADOquery 执行更新查询的返回代码到 PostgreSQL
我将 Adoquery 与 Postgres 数据库一起使用。当我执行 UPDATE 或 INSERT 查询时,ExecSql 或 OPEN 会返回受影响的记录数,但总是-1。我使用最新版本的 psqlODBC:09.01.0200。
代码:
结果是-1
delphi - Delphi ADOQuery 参数访问冲突
为什么这不再适用于 WinXP 但适用于 Win7 和其他?
现在我必须创建具体的参数,例如:
为了清楚起见,第二个版本有效,但我想知道为什么第一个不再有效。访问冲突与msado15.dll有关,不知道该.dll是否在最近的某些Windows更新中发生了变化...
不知道是否重要,但这只是最近发生的,可能是一个月前左右。
delphi - TADOQuery:“字段“MyField”的 EDatabaseError 类型不匹配,预期:字符串实际:FixedWideChar”
我有 3 个不同的数据库(开发、同源和产品),每个数据库都位于以下 Oracle 版本之一:11g 和 10g。
我正在使用 TADOQuery 一次仅在其中一个数据库中查询一些数据。
当我在 dev 或 prod 中运行我的应用程序时,它会完美地返回数据。但是当我在同源中运行它时,我收到以下错误消息:
'字段'MyField'的EDatabaseError类型不匹配,期望:字符串实际:FixedWideChar'
我已经检查过了,3个数据库的DDL是一样的,所以这不是数据类型的问题。此外, MyField 在所有这些中都是 CHAR(1) 。
有谁能够帮助我?