0

我正在尝试在启动时为 ADOConnection 设置 ConnectionString。目前我正在使用这段代码:

ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\x.mdb;Persist Security Info=False;';

唯一的问题是,当我编译(以及访问冲突)时,我得到一个带有消息'身份验证失败'的“EOLeException”。我相信它不会那么困难,因为连接字符串是直接从对象检查器中复制出来的(在对象检查器中正常输入时效果很好。)我的代码当前驻留在 FormCreate 上。

任何帮助,将不胜感激!

4

2 回答 2

2

如果它发生在您按下运行时,它发生在运行时,而不是编译时。您仍然提供很少的信息来尝试帮助您。

确保您已打开调试(项目|选项|编译器,检查调试选项)。在导致异常的行上设置断点。按F9运行您的应用程序。当断点发生时,将鼠标指针放在ADOConnection1变量上。它告诉你什么?最有可能的是,该变量是nil,这意味着它还没有被创建。

你应该避免在事件中做任何你不需要做的FormCreate事情。访问表单上的项目的任何事情都应该在其中完成FormShow,以便表单有时间首先完全创建。

于 2012-07-20T23:16:15.533 回答
2

好吧,如果您的 ADOConnection 与您的其他数据集组件一起位于数据模块中,如果 MainForm在您的数据模块之前创建,您将在连接时看到访问冲突。

这可能不是问题,但很容易检查。

要解决,请转到菜单项目|选项并在列表中选择“表格”。“自动创建表单”列表框给出了在程序加载时创建的表单,以及它们的创建顺序。选择数据模块条目并将其拖到列表顶部。

祝你好运。

于 2012-07-21T09:50:19.770 回答