unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Oracle, OracleData, StdCtrls;
type
TForm1 = class(TForm)
ods: TOracleDataSet;
ses: TOracleSession;
odsDUMMY: TStringField;
odscalc: TStringField;
Button1: TButton;
OracleLogon: TOracleLogon;
procedure odsCalcFields(DataSet: TDataSet);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.odsCalcFields(DataSet: TDataSet);
begin
ods['calc'] := 'test test test test test test test test test test test test test test test test';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if not OracleLogon.Execute then exit;
ods.Open;
end;
end.
object Form1: TForm1
Left = 192
Top = 133
Width = 1305
Height = 675
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Button1: TButton
Left = 248
Top = 188
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 0
OnClick = Button1Click
end
object ods: TOracleDataSet
SQL.Strings = (
'select dummy'
' from dual')
ReadBuffer = 25
Optimize = True
Debug = False
StringFieldsOnly = False
SequenceField.ApplyMoment = amOnPost
OracleDictionary.EnforceConstraints = False
OracleDictionary.UseMessageTable = False
OracleDictionary.DefaultValues = False
OracleDictionary.DynamicDefaults = False
OracleDictionary.FieldKinds = False
OracleDictionary.DisplayFormats = False
OracleDictionary.RangeValues = False
OracleDictionary.RequiredFields = True
QBEDefinition.SaveQBEValues = True
QBEDefinition.AllowFileWildCards = True
QBEDefinition.QBEFontColor = clNone
QBEDefinition.QBEBackgroundColor = clNone
QBEDefinition.QBEFieldDefs = {03000000010000000500000044554D4D590100000000}
Cursor = crDefault
ReadOnly = False
LockingMode = lmCheckImmediate
QueryAllRecords = True
CountAllRecords = False
RefreshOptions = []
CommitOnPost = True
CachedUpdates = False
QBEMode = False
Session = ses
DesignActivation = False
Active = False
OnCalcFields = odsCalcFields
Left = 76
Top = 172
object odsDUMMY: TStringField
FieldName = 'DUMMY'
Size = 1
end
object odscalc: TStringField
FieldKind = fkCalculated
FieldName = 'calc'
Size = 11000
Calculated = True
end
end
object ses: TOracleSession
Cursor = crHourGlass
DesignConnection = False
ConnectAs = caNormal
ThreadSafe = False
Preferences.FloatPrecision = 0
Preferences.IntegerPrecision = 0
Preferences.SmallIntPrecision = -1
Preferences.UseOCI7 = False
Preferences.ConvertCRLF = True
Preferences.TrimStringFields = True
Preferences.MaxStringFieldSize = 0
Preferences.ZeroDateIsNull = True
Preferences.NullLOBIsEmpty = False
Pooling = spNone
MTSOptions = [moImplicit, moUniqueServer]
Connected = False
RollbackOnDisconnect = False
NullValue = nvUnAssigned
SQLTrace = stUnchanged
OptimizerGoal = ogUnchanged
IsolationLevel = ilUnchanged
BytesPerCharacter = bc1Byte
Left = 108
Top = 172
end
object OracleLogon: TOracleLogon
Session = ses
Retries = 2
Options = [ldAuto, ldDatabase]
AliasDropDownCount = 8
HistorySize = 6
HistoryWithPassword = False
Left = 108
Top = 116
end
end