问题标签 [adoconnection]

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 投票
2 回答
4672 浏览

delphi - Delphi 的 TADOConnection 是线程安全的吗?

我正在编写一个 Delphi 7 应用程序,它需要同时从许多不同的线程访问同一个 SQL Server 数据库。

我可以使用单个共享的 TADOConnection,还是每个线程都必须创建自己的?

0 投票
7 回答
2518 浏览

asp-classic - 这个 ASP 连接字符串有什么问题?

在这件事上,我已经走到了尽头。应该很简单。我只需要知道这个连接字符串有什么问题:

运行该行时出现此错误:

[Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序

我知道 ServerName 已启动并接受连接,我知道 InitialDB 存在,我知道用户 ID 和密码对数据库有效。我错过了什么?

0 投票
2 回答
2170 浏览

delphi - 打开 Delphi 时,adoconnection 要求输入用户名和密码

我正在尝试打开一个 ADOConnection 组件。数据库为 MDB 格式。我使用 JET 来访问它。

每当我在代码中使用 AdoConnection.Open 时,都会弹出窗口并询问用户 ID 并通过。我为用户 ID 输入“Admin”并将密码留空,它可以工作,但我不希望此窗口弹出。我尝试使用AdoConnection.Open('Admin','');,但窗口仍然弹出。有什么建议么?

0 投票
2 回答
6158 浏览

delphi - 可以在线程中使用 TADOConnection

我创建了一个 TCPip 服务器应用程序。该应用程序有一个全局 TADOConnection。这个全局 ado 连接既用于主线程查询,也用于线程进程。

这个可以吗?ADOConnection 是否具有同时处理多个查询的内置机制?

我的应用程序可以在测试环境中找到(2-5 个连接)。但是部署在生产环境中,在链接到 ADOConnection 的 TADOQuery 设置为打开时,我遇到了“无法解释的”访问冲突。

我应该使用 ADOConnection 还是应该所有查询都自己连接到数据库(这可能会花费更多的资源)?

0 投票
2 回答
1900 浏览

mysql - 使用 Delphi 2010 将 Unicode 字符插入 MySQL

尝试使用 Delphi 2010 和 TADOConnection 将带有 Unicode 字符的值插入 MySQL 数据库,但没有成功。

与 ODBC 连接

SQL 命令:

尝试直接插入它

它只在数据库中以“俄语:?????????????”结尾

还尝试了这里建议的方法: http ://www.3delite.hu/Object%20Pascal%20Developer%20Resources/delphiunicodemysqltutorial.html

p>

仅当我在设计时添加参数时,在代码中进行此操作对我来说根本不起作用,但是在数据库中仍然是相同的结果,并且到处都是问号。

0 投票
4 回答
1052 浏览

delphi - delphi adoconnection 转换错误

我有以下代码,它引发了 EConvertError -“无法将 TAdoConnection 分配给 TAdoConnection”

我不明白我做错了什么。我尝试将变量 wTmpADOConn 转换为 TAdoConnection 或 TPersistent,但没有成功。

我知道要复制一个对象,可以使用 Assign 过程。

代码是用 Delphi 7 编写的。

LE:谢谢大家,问题是对象是共享对象,是对另一个ADOConnection的引用。我想要我自己的对象,所以我可以释放它,而不释放引用。逻辑很复杂,我需要一些机制来从该引用创建一个对象。

0 投票
3 回答
1226 浏览

delphi - ADOQuery 的索引超出范围 - 非常随机

Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index在我的网站上随机通过电子邮件发送给我。我无法通过强制或一般测试重现此错误,这有点令人困惑。

从我在堆栈跟踪中可以看到,它在打开数据集并尝试获取值时随机发生。堆栈跟踪显示调用此函数时出现错误:

正如我所说,我无法让它重现错误,并且它似乎在我运行的任何查询中随机发生。我尝试关闭连接,将其设置为非活动等以重现错误但不能。

有没有人有任何想法?

编辑:在更仔细地检查堆栈跟踪之后,它似乎是导致问题的原因:

EDIT2:我检查了代码以确保selCursor.Active在 selCursor.Close 之前。堆栈跟踪表明没有什么可以关闭的。

0 投票
2 回答
5883 浏览

delphi - adoconnection 用户名和密码

我的表单中有一个 adoconnection 并使用 Access 2010(accdb 数据库)

我为我的数据库设置了访问密码

当我尝试将此通行证设置为 Delphi 时,我遇到了一些麻烦:

1:Delphi问用户名,我没有用户名。2:当我在 ado 中设置密码(使用管理员用户名或空白用户名)时,我看到此错误:

由于初始化提供程序时出错,测试连接失败。无法启动您的应用程序。工作组信息文件丢失或被其他用户独占打开。

  • 当我收到此错误时,数据库文件未打开。
0 投票
4 回答
3812 浏览

delphi - 类 TADOConnection / TADOTable 未找到

好的,所以我的应用程序工作得很好,直到我决定通过创建一个 DataModule 表单并将所有数据库组件移动到它来稍微清理设计时表单。我正在使用 Delphi XE2 Update 1 和这些组件,TADOConnection、TADOTable、TADOQuery、TADOCommand。当我第一次尝试使用 DataModule 表单上的上述命名组件而不是主表单运行应用程序时,它现在在执行 DPR 的此行时返回错误:

Application.CreateForm(TDataModule1, DataModule1);

引发的错误是找不到类 TADOConnection。. 现在我删除并重新添加了 TADOConnection 到 DataModule 表单,它现在引发了一个不同的错误:找不到类 TADOTable。,但我认为这只是因为 DataModule 上的创建顺序发生了变化,TADOTable现在 a 是在表单上创建的第一个对象。

uses在 DataModule 中的条款是:

uses System.SysUtils, System.Classes, Data.Win.ADODB, Data.DB;

我阅读了其他帖子,说在 uses 子句中包含 ADODB 和 DB 以克服此错误,但这似乎没有帮助。

我的完整 DPR 文件是:

我什至尝试从创建 DataModule 的 DPR 文件中删除该行并在主窗体中手动执行此操作,但是当我收到相同的错误消息时,它只会改变。

除了将所有组件移回主窗体之外,我不确定接下来要尝试什么。DataModule 表单在 XE2 中的工作方式与 Delphi 的先前版本不同,为什么当组件位于主表单上时,没有出现相同的 TADOConnection 和 TADOTable 类未找到消息?

非常感谢任何想法或见解。

詹姆士

0 投票
1 回答
1189 浏览

database - 与线程共享数据库连接,而不是创建新的

我想在尝试之前检查一下。我正在处理几个线程,这些线程需要从线程中的数据库中获取数据。目前,根据我所见,我正在从线程中创建一个新的数据库连接(TADOConnection)。一切正常,除非我能从线程外的某个地方获取连接对象。基本上,我不想继续为每个线程执行创建一个新的 TADOConnection。

是否可以在线程外部发布 TADOConnection 属性(因此在创建线程时分配它)然后在线程内使用该连接?然后我需要做的就是在线程内创建 TADODataSet 并将其连接分配给这个 TADOConnection。我对此有点怀疑,特别是因为在线程中使用 ADO 时需要调用 CoInitialize 和 CoUninitialize。