unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, DBAccess, Uni, MemDS, UniProvider,
InterBaseUniProvider;
type
TForm1 = class(TForm)
UniConnTest: TUniConnection;//用于数据库的连接
InterBaseUniProTest: TInterBaseUniProvider;//ib/FB的数据提供
UniQryTest: TUniQuery;
UniDataSrTest: TUniDataSource;
DBGrid1: TDBGrid;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
with UniConnTest do
begin
ProviderName := 'interbase';//这里确定为interbase 但是可以支持firebird
Password := 'masterkey';//数据库密码
Username := 'sysdba';//数据库密码
Server := '';
Database := 'TD_HOUSE.FDB';//数据库文件的位置,这里在当前目录
SpecificOptions.Clear;
SpecificOptions.Add('InterBase.ClientLibrary=fbembed.dll');//设置embeddll驱动位置
SpecificOptions.Add('InterBase.CharLength=0');//设置为0让,unidac自动读取fb设置
SpecificOptions.Add('SQLDialet=3');//设置为3
SpecificOptions.Add('USEUnicode=true');//迟滞unicode 有人说有问题 我没有发现
try
Connect;
ShowMessage('OK');
except
ShowMessage('eer');
end;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
UniQryTest.Close;
UniQryTest.SQL.Text := 'select * from TB_SYS_LOG';
// UniQryTest.FetchingAll;
UniQryTest.DisableControls;
UniQryTest.Open;
UniQryTest.EnableControls;
end;
end.