📄 ufrmcorbaclientlate.pas
字号:
unit ufrmCorbaClientLate;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, corbaObj, Grids;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
Label2: TLabel;
edtDatabase: TEdit;
Label3: TLabel;
edtUserName: TEdit;
Label4: TLabel;
edtPassword: TEdit;
Button5: TButton;
GroupBox2: TGroupBox;
memoSQL: TMemo;
GroupBox3: TGroupBox;
Button6: TButton;
grdCorbaData: TStringGrid;
procedure ConnectClick(Sender: TObject);
procedure ExecuteClick(Sender: TObject);
private
{ Private declarations }
FQueryServer: TAny;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.ConnectClick(Sender: TObject);
var
Factory: TAny;
User, Pass: WideString;
begin
Factory := CorbaBind('IDL:SimpleCorbaServer/QueryServerFactory:1.0');
FQueryServer := Factory.CreateInstance('');
User := WideString(edtUserName.Text);
Pass := WideString(edtPassword.Text);
FQueryServer.Login(WideString(edtDatabase.Text),User,Pass);
end;
procedure TForm1.ExecuteClick(Sender: TObject);
var
i,j: integer;
CorbaData : OLEVariant;
begin
FQueryServer.Set_SQL(WideString(memoSQL.Text));
FQueryServer.Execute;
grdCorbaData.ColCount := FQueryServer.Get_FieldCount;
grdCorbaData.RowCount := 0;
j := 0;
while not(FQueryServer.Get_EOF) do
begin
inc(j);
grdCorbaData.RowCount := j;
CorbaData := FQueryServer.Data;
for i := 0 to FQueryServer.Get_FieldCount - 1 do
begin
grdCorbaData.Cells[i + 1,j-1] := CorbaData[i];
end;
FQueryServer.Next;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -