Class XDB_Dynaset (unit XDB) |
Inherits from
TObject
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
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);
property Changed : Boolean
property Fields : String
property FieldsNr : String
property MaxLengthNr : Longint
property Types : Byte
property TypesNr : Byte
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
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
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);
property Changed : Boolean
property Fields : String
property FieldsNr : String
property MaxLengthNr : Longint
property Types : Byte
property TypesNr : Byte
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