4)放置TDataSource,屬性:
Dataset:指向ClIEntDataSet1
安放合適的數據庫綁定控件。放置Demo控件作為SQL 數據輸入用。
procedure TForm1.Button1Click(Sender: TObject);
begin
// 把Memo內用戶輸入的SQL命令,通過IProvide的
// DataRequest方法傳給應用程序服務器。
ClIEntDataSet1.Close;
ClIEntDataSet1.CommandText := Memo1.Lines.Text;
ClIEntDataSet1.Open;
end;
希望用戶直接調用服務器端的別名,可以加入一個ComboBox控件:
form1的Create 事件可以寫成:
procedure TForm1.FormCreate(Sender: TObject);
var
I: Integer;
DBNames: OleVariant;
begin
// 連上應用程序服務器
DCOMConnection1.Connected := True;
// 取得BDE所有設置的數據庫別名數據
DBNames := DCOMConnection1.APPServer.GetDatabaseNames;
// 假如有數據庫別名數據,則將其一個一個地加到ComboBox控件內
if VarIsArray(DBNames) then
for I := 0 to VarArrayHighBound(DBNames, 1) do
ComboBox1.Items.Add(DBNames[I]);
//把默認的數據庫顯示在第一個
ComboBox1.Text:='mymdb';
end;
運行以後可以看到服務器端的所有的別名:
為了用這個別名列表調用其它的數據庫,考慮到有的數據庫需要輸入密碼和 用戶名,需要加入一個新的Form。
File->New->other->new-form 這就加入了一個
Form2
加入相應的輸入密碼控件。
其中:CheckBox1的屬性 Name=Check ;而兩個Edit控件的Text屬性為空字符 串。
Form2的兩個按鈕事件可以寫成:
procedure TForm2.Button1Click(Sender: TObject);
begin
Check.Checked:=True;
close;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
Check.Checked:=False;
close;
end;