1

这是老东西了!与delphi 5.0和interbase 1.6有关。

我正在尝试通过代码打开数据库连接。但是这段代码与启用连接有关,所有组件都是使用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。我还有一个 TIBQuery(与 DataSource1 相关联)与 SQLStrings 上的此代码:

SELECT * FROM NEW_TABLE

在窗体上,我有这段代码来启用 D​​BNavigator 和 DBGrid 来显示 DB 值。数据库非常简单,只是一个表:NEW_TABLE 带有一个 VARCHAR 类型的 NEW_VALUE

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 with message 'Database not assigned'

OBS1:如果我在delphi用户界面上手动连接组件,与数据库的连接就建立了。

4

1 回答 1

1

您必须分配Database查询的属性,例如:

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