问题标签 [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 投票
1 回答
182 浏览

delphi - 我可以使用单个命令从一个特定字段中获取所有记录吗?

我有一个数据库 *.mdb。任务是从该数据库的某个字段中获取所有值并将它们写入文件。现在代码看起来像这样

它有效,但我认为有一个更优化和更快的选择。由于数据库大小约为 40,000 条记录,此过程需要相当长的时间。我需要使用的数据库包含数十倍的记录和数十个表。我认为这是一个非常愚蠢的问题,但我自己在几天内找不到解决方案。对我来说,数据库是一个未开发的领域。不会太久,我希望。

0 投票
1 回答
985 浏览

excel - 无法让 Delphi ADOQuery 更新或插入 Excel 工作表

我目前正在开发一个程序,该程序的功能是从 Excel 电子表格中读取数据,用户应该能够编辑库存量并生成仅使用的库存的单独报告,我已经完成了。我的问题发生在尝试更新原始电子表格时,显示随着用户在程序上添加/删除,库存变得更少/更多。

我已经能够在 DBGrid 中显示库存的变化,但在实际的电子表格上没有进行任何更改,因此无论何时重新启动程序,它都会显示不变的数字。(这是使用 DBEdits 完成的)

**我创建了此代码的较小版本,希望使我的问题更清晰,更易于阅读。利用查询尝试更新 Excel 电子表格,电子表格中的第一行的值为 17,程序尝试更改为 5。每当我运行此代码时,我都会收到“更新语句中的语法错误”,我很确定情况并非如此。我玩过代码添加了诸如

ADOQuery.open ADOQuery.Enabled := false ADOQuery.Enabled := true

等等,每个都给我不同的错误。**

代码如下:

示例电子表格: 上面代码中使用的示例电子表格

在过去的两天里,我对这个问题进行了研究,但不知何故,我似乎一直在寻找答案,询问总是最后的努力。如果您不知道解决方案,我们将不胜感激任何指导,甚至是对其他编程语言/IDE 的建议,这将给我带来更富有成效的结果。如果您能够将一个可能与我当前程序相关的链接到我,我什至会接受 Excel 脚本教程

PS 很抱歉这么长的帖子,对这个网站来说相当新。非常感谢所有帮助。

0 投票
0 回答
102 浏览

delphi - Delphi TadoQuery - 参数类型转换

我将网页中的 Jquery 和 Ajax 参数发送到我的 Delphi Web 服务器。这些参数将在选择中使用,但是一旦我到达TADOQ.Open;我就会得到一个异常,其中包含代码部分下方的消息。

我是 Delphi 的新手,所以我很难理解如何使用UnicodeString,AnsiStringString. 我也不明白为什么它说double,当我不在任何地方使用它时。

有没有解决问题的简单方法?(代码小,易于理解)

编辑:调用前添加流程SearchChosen();

类型变体 (UnicodeString) 无法转换为 (Double)

0 投票
2 回答
519 浏览

sql-server - 如何在 Delphi 中使用 ADOQuery sum

我有这个 SQL 查询:

图片

如您所见,它工作正常。除非我在 Delphi 中使用它。

我使用 TDBLookupComboBox、TEdit 和 TButton。我的想法是,每当我单击 TButton 时,EXE 都会使用 DBLookupComboBox 中的信息检查 SQL 中的表,并将结果放入 TEdit。

这是我的德尔福代码:

图片

0 投票
2 回答
57 浏览

sql - 仅通过 SQL 显示在 DBGrid 中的 TCheckListBox 中选择的字段

所以我有一个 TDBGrid,它通过 SQL 显示查询的内容。我需要能够只显示在 TCheckListBox 中选择的字段/列。我该如何解决这个问题?

在这种情况下,不应包含“Lengte”字段

0 投票
1 回答
251 浏览

delphi - ADOQuery AfterScroll not Triggered with One Record / No Record

I have a MasterQry and a SlaveQry on the form . The MasterQry is something like this :

select * from Header where Active = 1 .

On it's AfterScroll event I have following :

select * from Slave where HeadID=:Header.ID

Now if I do :

this works flawlessly if I have more then one record , but it does not work if I have only one .

Even if I do MasterQry.First; nothing happens.

If I try MasterQry.AfterScroll(MasterQry) I get an access violation .

I was refactoring my code and was trying to make it more compact , because I did a lot of Open Close Locate ID ( needed to refresh data to get actual status, whether it is locked etc. ) and I did this :

Please NOTE this code is not universal but suits my needs perfectly . What I noticed is that the AfterScroll event here is being triggered even if I have only One Record in the MasterQry , or even if I have non at all . I was really happy , I tested it multiple times and it delivered correct results.

I checked the TADOQuery.First and TADOQuery.Locate procedures and both had DoAfterScroll but it was not triggered with One Record or with No Record . ( the SlaveQry was left open in a undesired state )

I've googled a lot for this but was unable to find the reason .

My Question is : why does this work ? why does AfterScroll fires with One or No Record .

Thank you.

UPDATE

I can only reproduce this with Microsoft SQL . So in order to test this you need . Two Tables .

In MasterTable add two records ( ID , Text, Active )

1 First 1

2 Second 1

in the SlaveTable add two or more records ( ID,HeadID,Text )

1,1,First-1

2,1,First-2

3,2,Second-1

4,2,Second-2

Now drop on the Form one ADOConnection two ADOQueries .

in the MainQuery you have following text

in the SlaveQuery you have following text

on the MainQuery.BeforeOpen you have this :

on the MainQuery.AfterScroll you have this :

on the MainQuery.AfterOpen you have this :

Add a Button to this form :

Button1Click Event Contains following :

So if you now attach a Grid to both Queries , you can see it is following perfectly .

Without closing the Program , go into the SQL Server Manager and run the following update statement :

Press the Button1 on the Form again :

The MasterQuery is Emtpy , the SlaveQuery was left in the Last Open State .

In order to fix this you need to alter the Button1Click as follows :

And now it works . I don't know why because MasterQuery.First should trigger DoAfterScroll but nothing Happens . It seems like Setting AfterScroll to nil and then back again somehow triggers AfterScroll even when it has 1 Record or is empty .

0 投票
1 回答
270 浏览

function - 带变量参数的函数

我创建了一个函数来刷新带有参数的查询,然后找到一个特定字段。

当 AValue 为整数时,它可以工作,当我将其更改为 Variant

我收到 List Index Out of Bounds 1699364 错误

函数本身看起来像这样:

我这样使用它:

在上面的例子中 CityQueryID.Value 是 Integer Type 。但有时我想使用 String 。所以我想更改函数以使用变体。

0 投票
0 回答
246 浏览

sql-server - 如何写入 TADOQuery 中的查找字段?

我有一个TADOQuery引用Lookup另一个字符串字段的字段TADOQuery。我已将 a 连接TcxDBTextEdit到查找字段,但数据库中查找表中的值未更新。

甚至可以以这种方式使用查找字段,还是查找字段始终是只读的?

0 投票
1 回答
188 浏览

delphi - 如何将多个 TcxDBTextEdit 与存储在单个 DB 字段中的格式化数据一起使用?

我需要在单个数据库字段中存储两个值(是的,我同意这是不好的做法,但这是一个无法更改的遗留数据库)。数据存储为string1#4string2.

需要使用两个单独的TcxDBTextEdit控件来编辑数据。但是如何将它们连接到单个数据库字段,以便我可以string1在一个和string2另一个中进行编辑?

我尝试向 中添加两个计算 ( fkCalculated) 字段,在/TADOQuery中提取/加入它们的值并读取/写入,但它没有用。OnGetTextOnSetTextTStringField

所以我尝试创建一个TdxMemData包含两个字段的组件并使用它们而不是计算字段,但它仍然不起作用。

我怎样才能做到这一点(不改变数据库结构)?

0 投票
2 回答
223 浏览

delphi - TADOQuery 包括空白行

将 ' while not TADOQuery.Eof' 与 Microsoft Excel 工作簿一起使用时,它包括完全为空的行。有没有办法停止包含任何完全空白的行,因为我不需要它们?