0

起動時にADOConnectionのConnectionStringを設定しようとしています。現在、私はこのコードを使用しています:

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

唯一の問題は、コンパイル時に「EOLeException with message'AuthenticationFailed」(およびAccess Violation)が発生することです。接続文字列がオブジェクトインスペクターから直接コピーされるため、それほど難しいことではないと確信しています。 (これは、オブジェクトインスペクターに通常入力すると完全に機能します。)私のコードは現在FormCreateにあります。

どんな助けでもいただければ幸いです!

4

2 に答える 2

2

ADOConnection が他のデータセット コンポーネントと一緒にデータ モジュール内にある場合、データモジュールの前にMainForm が作成されると、接続時にアクセス違反が発生します。

これは問題ではないかもしれませんが、簡単に確認できます。

解決するには、[プロジェクト] メニューの [オプション] に移動し、リストから [フォーム] を選択します。「自動作成フォーム」リストボックスには、プログラムのロード時に作成されるフォームと、それらが作成される順序が表示されます。datamodule エントリを選択し、リストの一番上にドラッグします。

幸運を。

于 2012-07-21T09:50:19.770 に答える
2

実行を押したときに発生している場合は、コンパイル時ではなく実行時に発生しています。あなたは、あなたを助けようとするために使用する情報をまだほとんど提供していません.

デバッグがオンになっていることを確認してください ([プロジェクト]、[オプション]、[コンパイラ]、[デバッグ オプション] を確認します)。例外の原因となった行にブレークポイントを設定します。を押しF9てアプリを実行します。ブレークポイントが発生したら、マウス ポインターをADOConnection1変数の上に置きます。それはあなたに何を伝えますか?ほとんどの場合、変数は です。これはnil、まだ作成されていないことを意味します。

FormCreateイベントで必要のないことは避けるべきです。フォーム上のアイテムにアクセスするものはすべて、FormShow代わりに実行する必要があります。これにより、フォームが最初に完全に作成される時間が確保されます。

于 2012-07-20T23:16:15.533 に答える