Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit main;
- {$mode objfpc}{$H+}
- interface
- uses
- Classes, SysUtils, IBConnection, sqldb, db, FileUtil, Forms, Controls,
- Graphics, Dialogs, DBGrids, StdCtrls, ExtCtrls, Buttons;
- type
- { TOCB }
- TOCB = class(TForm)
- DataSource1: TDataSource;
- DBGrid1: TDBGrid;
- IBConnection1: TIBConnection;
- Query: TLabeledEdit;
- Path: TLabeledEdit;
- PASSWORD: TLabeledEdit;
- ConnectButton: TSpeedButton;
- RunQueryButton: TSpeedButton;
- CleatQueryButton: TSpeedButton;
- USER: TLabeledEdit;
- ListBox1: TListBox;
- SQLQuery1: TSQLQuery;
- SQLTransaction1: TSQLTransaction;
- procedure ConnectButtonClick(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- procedure SQLQuery1AfterOpen(DataSet: TDataSet);
- procedure MyGetText(Sender : TField; var aText: String;
- DisplayText: Boolean);
- private
- { private declarations }
- public
- { public declarations }
- end;
- var
- OCB: TOCB;
- implementation
- {$R *.lfm}
- { TOCB }
- procedure TOCB.ConnectButtonClick(Sender: TObject);
- begin
- if TButton(Sender).Caption = 'Connect' then begin
- IBConnection1.UserName := USER.Text;
- IBConnection1.Password := PASSWORD.Text;
- IBConnection1.DatabaseName := Path.Text;
- end;
- if TButton(Sender).Caption = 'Run' then begin
- SQLQuery1.Close;
- SQLQuery1.SQL.Text := Query.Text;
- SQLQuery1.Open;
- end;
- if TButton(Sender).Caption = 'Clear' then begin
- Query.Text := '';
- end;
- end;
- procedure TOCB.FormCreate(Sender: TObject);
- begin
- IBConnection1.CharSet := 'UTF8';
- end;
- procedure TOCB.SQLQuery1AfterOpen(DataSet: TDataSet);
- var
- FID: TField;
- begin
- for FID in DataSet.Fields do
- if FID is TStringField then FID.OnGetText := @MyGetText;
- end;
- procedure TOCB.MyGetText(Sender : TField; var aText: String;
- DisplayText: Boolean);
- var
- s : WideString;
- begin
- s := Sender.AsWideString;
- aText := UTF8Encode(s);
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement