问题标签 [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 - 我可以使用单个命令从一个特定字段中获取所有记录吗?
我有一个数据库 *.mdb。任务是从该数据库的某个字段中获取所有值并将它们写入文件。现在代码看起来像这样
它有效,但我认为有一个更优化和更快的选择。由于数据库大小约为 40,000 条记录,此过程需要相当长的时间。我需要使用的数据库包含数十倍的记录和数十个表。我认为这是一个非常愚蠢的问题,但我自己在几天内找不到解决方案。对我来说,数据库是一个未开发的领域。不会太久,我希望。
excel - 无法让 Delphi ADOQuery 更新或插入 Excel 工作表
我目前正在开发一个程序,该程序的功能是从 Excel 电子表格中读取数据,用户应该能够编辑库存量并生成仅使用的库存的单独报告,我已经完成了。我的问题发生在尝试更新原始电子表格时,显示随着用户在程序上添加/删除,库存变得更少/更多。
我已经能够在 DBGrid 中显示库存的变化,但在实际的电子表格上没有进行任何更改,因此无论何时重新启动程序,它都会显示不变的数字。(这是使用 DBEdits 完成的)
**我创建了此代码的较小版本,希望使我的问题更清晰,更易于阅读。利用查询尝试更新 Excel 电子表格,电子表格中的第一行的值为 17,程序尝试更改为 5。每当我运行此代码时,我都会收到“更新语句中的语法错误”,我很确定情况并非如此。我玩过代码添加了诸如
ADOQuery.open ADOQuery.Enabled := false ADOQuery.Enabled := true
等等,每个都给我不同的错误。**
代码如下:
示例电子表格: 上面代码中使用的示例电子表格
在过去的两天里,我对这个问题进行了研究,但不知何故,我似乎一直在寻找答案,询问总是最后的努力。如果您不知道解决方案,我们将不胜感激任何指导,甚至是对其他编程语言/IDE 的建议,这将给我带来更富有成效的结果。如果您能够将一个可能与我当前程序相关的链接到我,我什至会接受 Excel 脚本教程
PS 很抱歉这么长的帖子,对这个网站来说相当新。非常感谢所有帮助。
delphi - Delphi TadoQuery - 参数类型转换
我将网页中的 Jquery 和 Ajax 参数发送到我的 Delphi Web 服务器。这些参数将在选择中使用,但是一旦我到达TADOQ.Open;
我就会得到一个异常,其中包含代码部分下方的消息。
我是 Delphi 的新手,所以我很难理解如何使用UnicodeString
,AnsiString
和String
. 我也不明白为什么它说double
,当我不在任何地方使用它时。
有没有解决问题的简单方法?(代码小,易于理解)
编辑:调用前添加流程SearchChosen();
类型变体 (UnicodeString) 无法转换为 (Double)
sql - 仅通过 SQL 显示在 DBGrid 中的 TCheckListBox 中选择的字段
所以我有一个 TDBGrid,它通过 SQL 显示查询的内容。我需要能够只显示在 TCheckListBox 中选择的字段/列。我该如何解决这个问题?
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 .
function - 带变量参数的函数
我创建了一个函数来刷新带有参数的查询,然后找到一个特定字段。
当 AValue 为整数时,它可以工作,当我将其更改为 Variant
我收到 List Index Out of Bounds 1699364 错误。
函数本身看起来像这样:
我这样使用它:
在上面的例子中 CityQueryID.Value 是 Integer Type 。但有时我想使用 String 。所以我想更改函数以使用变体。
sql-server - 如何写入 TADOQuery 中的查找字段?
我有一个TADOQuery
引用Lookup
另一个字符串字段的字段TADOQuery
。我已将 a 连接TcxDBTextEdit
到查找字段,但数据库中查找表中的值未更新。
甚至可以以这种方式使用查找字段,还是查找字段始终是只读的?
delphi - 如何将多个 TcxDBTextEdit 与存储在单个 DB 字段中的格式化数据一起使用?
我需要在单个数据库字段中存储两个值(是的,我同意这是不好的做法,但这是一个无法更改的遗留数据库)。数据存储为string1#4string2
.
需要使用两个单独的TcxDBTextEdit
控件来编辑数据。但是如何将它们连接到单个数据库字段,以便我可以string1
在一个和string2
另一个中进行编辑?
我尝试向 中添加两个计算 ( fkCalculated
) 字段,在/TADOQuery
中提取/加入它们的值并读取/写入,但它没有用。OnGetText
OnSetText
TStringField
所以我尝试创建一个TdxMemData
包含两个字段的组件并使用它们而不是计算字段,但它仍然不起作用。
我怎样才能做到这一点(不改变数据库结构)?
delphi - TADOQuery 包括空白行
将 ' while not TADOQuery.Eof
' 与 Microsoft Excel 工作簿一起使用时,它包括完全为空的行。有没有办法停止包含任何完全空白的行,因为我不需要它们?