Class XDB_Dynaset (unit XDB)

Inherits from

TObject

Constructors


constructor Create(pt1: Byte; pt2: Byte; pt3: Byte; InternDB: ODBCHandles; SQL: PChar; Opt: Integer; Const PrimaryKey: String; Const ScrollMode: Integer; Const TimeStampName: String);

Implementation XDB_Dynaset


Functions

procedure AddNew;

Timestamp-Value setzen

destructor Close;

Suchen nach dem ersten zeichen

function ExecuteDynaset(p1: String; p2: String; p3: String): Boolean;

Globaler Speicher Freigeben

function GetFieldName(Index: Integer): String;


function GetFieldNr(Index: String): Integer;

Null-Value

function MoveFirst: Boolean;

Lesen n.

function MoveLast: Boolean;

Lesen n.

function MoveNext: Boolean;


function MovePrevious: Boolean;

EOF

function Update: Boolean;


function FileAddRec: Integer;


function FileGetCurrent: Integer;

Schreibe Satzpuffer in File

function FileMoveFirst: Integer;

Diese Function liest den vorhergehenden Satz eines extended Dynasets Return 0 wenn ok, 1 wenn EOF

function FileMoveLast: Integer;

Satz von Temp-File

function FileMoveNext: Integer;

Lesen n.

function FileMovePrevious: Integer;

Neuen Satz von Datenbank holen

function GetChanged(Index: String): Boolean;


function GetFields(Index: String): String;


function GetFieldsNr(Index: Byte): String;


function GetFieldsPNr(nr: Integer): String;

Null-Value

function GetMaxLengthNr(Index: Integer): Longint;


function GetSQLLength: Longint;

Lesen von Datei

function GetTypes(Index: String): Byte;

InsertFlag

function GetTypesNr(Index: Byte): Byte;


function GetUpdateSQL(pSQL: PChar): Boolean;


function ibECopy(dest: PChar; source: String): PChar;

Diese Funktion löscht alle Felder im Dynaset und setzt 'einen Insert-Merker

procedure ResetDataChange;

Lesen n.

procedure SetChanged(Index: String; AValue: Boolean);


procedure SetFields(Index: String; AValue: String);


procedure SetFieldsNr(Index: Byte; AValue: String);


Properties

property Changed : Boolean


property Fields : String


property FieldsNr : String


property MaxLengthNr : Longint


property Types : Byte


property TypesNr : Byte


Events

Variables

BOF : Boolean;


EOF : Boolean;


ErrText : String;


FieldCount : Integer;


Integer : Integer;


RecordCount : Integer;


BufferLength : Longint;


ExtendedKeyName : String[MaxFieldLength];

0=Only Forward 1=Extended Large Table

ExtendedKeyType : Integer;

Feldname Primary Key

ExtendedScrolling : Integer;


FileBuffer : PChar;

Pointer auf Datenbereich --> immer zusammen lassen

FileHandle : Integer;

Pointer auf Bytes Filebuffer

FileLength : Longint;


FilePos : Longint;


IFile : Array[0..144] of Char;


InsertDynaset : Boolean;


InsertFlag : Boolean;


Intern : ODBCHandles;


InternFieldNames : PChar;

Pointer auf Datenbereich Integer

KeyLength : Longint;


KeyMaxLength : Integer;


KeyPuffer : Array[0..255] of Char;


KeySqlType : Integer;


MemoryHandleA : Longint;


MemoryHandleB : Longint;


OpenMerker : Boolean;


ParamLength1 : Longint;


ParamLength2 : Longint;


ParamLength3 : Longint;


ParamType1 : Byte;


ParamType2 : Byte;


ParamType3 : Byte;


PData : PChar;

Pointer auf Datenbereich Longint --> Diese zwei Datenfelder

PDataChanged : PChar;


PFields : Array[1..255] of Pointer;


PLength : PChar;

Pointer auf Datenbereich

PMaxLength : PChar;

Pointer auf Datenbereich Byte

PParam1 : Array[0..60] of Char;


PParam2 : Array[0..60] of Char;


PParam3 : Array[0..60] of Char;


PTypes : PChar;

Pointer auf Datenbereich

StmtInd1 : Integer;


StmtInd2 : Integer;


TableName : String[40];


TimeStamp : String[MaxFieldLength];


TimeStampNr : Integer;

Pufferadressen der einzelnen Col


Constructors


constructor Create(pt1: Byte; pt2: Byte; pt3: Byte; InternDB: ODBCHandles; SQL: PChar; Opt: Integer; Const PrimaryKey: String; Const ScrollMode: Integer; Const TimeStampName: String);

Implementation XDB_Dynaset


Functions


procedure AddNew;

Timestamp-Value setzen


destructor Close;

Suchen nach dem ersten zeichen


function ExecuteDynaset(p1: String; p2: String; p3: String): Boolean;

Globaler Speicher Freigeben


function GetFieldName(Index: Integer): String;


function GetFieldNr(Index: String): Integer;

Null-Value


function MoveFirst: Boolean;

Lesen n.Datensatz


function MoveLast: Boolean;

Lesen n. Datensatz


function MoveNext: Boolean;


function MovePrevious: Boolean;

EOF


function Update: Boolean;


function FileAddRec: Integer;


function FileGetCurrent: Integer;

Schreibe Satzpuffer in File


function FileMoveFirst: Integer;

Diese Function liest den vorhergehenden Satz eines extended Dynasets Return 0 wenn ok, 1 wenn EOF


function FileMoveLast: Integer;

Satz von Temp-File


function FileMoveNext: Integer;

Lesen n. Datensatz


function FileMovePrevious: Integer;

Neuen Satz von Datenbank holen


function GetChanged(Index: String): Boolean;


function GetFields(Index: String): String;


function GetFieldsNr(Index: Byte): String;


function GetFieldsPNr(nr: Integer): String;

Null-Value


function GetMaxLengthNr(Index: Integer): Longint;


function GetSQLLength: Longint;

Lesen von Datei


function GetTypes(Index: String): Byte;

InsertFlag


function GetTypesNr(Index: Byte): Byte;


function GetUpdateSQL(pSQL: PChar): Boolean;


function ibECopy(dest: PChar; source: String): PChar;

Diese Funktion löscht alle Felder im Dynaset und setzt 'einen Insert-Merker


procedure ResetDataChange;

Lesen n.Datensatz


procedure SetChanged(Index: String; AValue: Boolean);


procedure SetFields(Index: String; AValue: String);


procedure SetFieldsNr(Index: Byte; AValue: String);


Properties


property Changed : Boolean


property Fields : String


property FieldsNr : String


property MaxLengthNr : Longint


property Types : Byte


property TypesNr : Byte


Events


Variables


BOF : Boolean;


EOF : Boolean;


ErrText : String;


FieldCount : Integer;


Integer : Integer;


RecordCount : Integer;


BufferLength : Longint;


ExtendedKeyName : String[MaxFieldLength];

0=Only Forward 1=Extended Large Table


ExtendedKeyType : Integer;

Feldname Primary Key


ExtendedScrolling : Integer;


FileBuffer : PChar;

Pointer auf Datenbereich --> immer zusammen lassen


FileHandle : Integer;

Pointer auf Bytes Filebuffer


FileLength : Longint;


FilePos : Longint;


IFile : Array[0..144] of Char;


InsertDynaset : Boolean;


InsertFlag : Boolean;


Intern : ODBCHandles;


InternFieldNames : PChar;

Pointer auf Datenbereich Integer


KeyLength : Longint;


KeyMaxLength : Integer;


KeyPuffer : Array[0..255] of Char;


KeySqlType : Integer;


MemoryHandleA : Longint;


MemoryHandleB : Longint;


OpenMerker : Boolean;


ParamLength1 : Longint;


ParamLength2 : Longint;


ParamLength3 : Longint;


ParamType1 : Byte;


ParamType2 : Byte;


ParamType3 : Byte;


PData : PChar;

Pointer auf Datenbereich Longint --> Diese zwei Datenfelder


PDataChanged : PChar;


PFields : Array[1..255] of Pointer;


PLength : PChar;

Pointer auf Datenbereich


PMaxLength : PChar;

Pointer auf Datenbereich Byte


PParam1 : Array[0..60] of Char;


PParam2 : Array[0..60] of Char;


PParam3 : Array[0..60] of Char;


PTypes : PChar;

Pointer auf Datenbereich


StmtInd1 : Integer;


StmtInd2 : Integer;


TableName : String[40];


TimeStamp : String[MaxFieldLength];


TimeStampNr : Integer;

Pufferadressen der einzelnen Col