我TADOQuery
在 Windows XP 和 Windows7 操作系统上的 Delphi 7 中的组件出现了奇怪的行为。以下问题在 Windows7 操作系统上运行良好,但在 XP 操作系统上出现错误。
让我解释一下这个场景,我有一个 TADOConnection 组件和两个 TADOQuery 组件。TADOConnection 组件的ConnectionString
属性值如下:
ADOConnection1.ConnectionString := 'Provider = MSDASQL.1; Password = My Password; User ID = My User ID; Data Source = My Data Source';
我已经将角色/授予的权限应用于我登录到应用程序的用户 ID/密码。
Connection
我已经使用属性将 TADOConnection 组件连接到 TADOQuery 组件。
当我执行第一个 sql 时,它可以正常工作,没有任何错误,但是当我执行第二个 sql 时,我在 Windows XP 操作系统上遇到以下错误。
[Microsoft] [SQL Server Native Client 10.0] [SQL Server] 对对象“我的表名”、数据库“我的数据库名”、架构“dbo”的 SELECT 权限被拒绝
如果我在 Windows7 操作系统上执行相同的代码,它可以正常工作,没有任何错误。
任何人都可以关注可能缺少的内容或可能是什么问题吗?
我添加了“Persist Security Info = False;” 连接字符串如下:
ADOConnection1.ConnectionString := 'Provider = MSDASQL.1; Persist Security Info = False; Password = My Password; User ID = My User ID; Data Source = My Data Source';
现在,每当我使用 TADOQuery 组件执行 sql 时,我每次都需要编写以下语句,即使我在开始时已经设置了 TADOQuery 的“Connection”属性,但每次执行 sql 时仍然需要设置该属性。
ADOQuery1.Connection := ADOConnection1;
但正如我所说,在 Windows7 上,无需更改 TADOConnection 组件的“ConnectionString”属性,也无需设置任何 TADOQuery 组件的“Connection”属性。
任何人都可以告诉你究竟要做什么?
如果您的应用程序太大并且需要在很多地方进行编码更改,有人会同意吗?那么测试工作呢?在所有地方都必须进行测试,对吗?
所以,我仍在寻找合适的解决方案。这个问题仍然没有答案。
如果有人有任何线索或提示或适当的解决方案,将不胜感激。