Delphi中的ConnectionString?

时间:2012-07-20 22:00:38

标签: delphi delphi-7 adoconnection

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

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

唯一的问题是,当我编译(以及访问冲突)时,我收到“EOLeException并显示消息'身份验证失败'。我确信它不会那么困难,因为连接字符串是直接复制出来的对象检查器(在对象检查器中正常输入时工作正常)。 我的代码目前驻留在FormCreate上。

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:2)

如果按下运行时发生这种情况,则会发生在运行时,而不是编译时。你仍然只提供很少的信息来试图帮助你。

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

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

答案 1 :(得分:2)

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

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

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

祝你好运。