私は、データベースへの接続を確立せずに、どのコンピュータにもコピーしなければならないような方法でデータベースを埋め込む必要があるプロジェクトに忙しかったです。私はこれを試みました:Delphiで実行時にデータベースに接続する
path:=extractFilePath('MEDA_p.exe');
dmMEDA.conMeda.ConnectionString:='Provider=Microsoft.ACE.OLEDB.12.0; Data Source= '+path+'dbMEDA.accdb; Persist Security info=false';
dmMEDA.conMeda.Connected:=true;
しかし、「スタックオーバーフロー」エラーが発生し続ける。または、これを行う場合:
dmMeda.conMEDA.open;
path:=extractFilePath('MEDA_p.exe');
dmMEDA.conMeda.ConnectionString:='Provider=Microsoft.ACE.OLEDB.12.0; Data Source= '+path+'dbMEDA.accdb; Persist Security info=false';
dmMEDA.conMeda.Connected:=true;
dmMEDA.conMeda.close;
「オブジェクトが開いているときに操作できません」というメッセージが表示されます。
助けが必要ですか?
アップデート:私は二重引用符を追加し、接続を使用して、その後trueの場合はfalseを設定するなどの提案のいくつかを試してみましたが、私は試してみて、作るとき(アクティブ)真の表は、私は別の「スタックを取得
オーバーフローエラー '
dmMEDA.tbllogs.Active:=true;
どうすればよいですか?
IDEで接続を開いたことはありますか?その場合は、プログラムを実行する前に、IDEでactive = falseに設定します。 – kobik
私はそのパス変数が何であるかわかりませんが、書き込み可能なデータへのパスとして使用しようとしているのであれば、それは起こるのを待っている事故です。アプリがあるフォルダに書き込むことはできません。 – MartynA