1

これは古いものです!Delphi 5.0 および interbase 1.6 に関連しています。

コードで DB 接続を開こうとしています。ただし、このコードは接続の有効化に関連しています。すべてのコンポーネントは、Delphi のドラッグ アンド ドロップ ユーザー インターフェイスを使用して追加されました: DataSource1、TForm1、DBGrid、DBNavigator など。

procedure TDataModule2.DataModuleCreate(Sender: TObject); 
begin 
  database.DatabaseName:='C:\MyDatabase.GDB'; 
  database.Connected := true; 
  database.Open; 
  IBTransaction.Active := true; 

  myTable.Open; 
end;

DBGrid と DBNavigator コンポーネントを備えた TForm があります。SQLStrings に次のコードを含む TIBQuery (DataSource1 が関連付けられている) もあります。

SELECT * FROM NEW_TABLE

フォームには、DBNavigator と DBGrid が DB 値を表示できるようにするこのコードがあります。DB は非常にシンプルで、単なるテーブルです: VARCHAR タイプの NEW_VALUE を持つ NEW_TABLE

procedure TForm1.FormCreate(Sender: TObject); 
begin 
  DataSource1.DataSet.Open;
  // This will call the query associated to this DataSource1 the tibQuery1 to call
  // SELECT * FROM NEW_TABLE, but the message below appears: IBClientError...
end; 

次のメッセージが表示されます: 「データベースが割り当てられていません」というメッセージを含む IBClientError

OBS1: Delphi ユーザー インターフェイスでコンポーネントを手動で接続すると、DB との接続が確立されます。

4

1 に答える 1

1

Databaseクエリのプロパティを次のように割り当てる必要があります。

IBQuery1.Database := MyDatabase;
于 2010-11-17T13:43:38.720 に答える