SQL
$getTableRow
Mit dieser Methode können Sie einen Datensatz aus einer Tabelle laden.
Dabei können die Abfragebedingungen auf unterschiedliche Arten erstellt werden.
|
Parameter
|
Funktion
|
|
prefOK
|
ktrue wenn OK
|
|
pbinSchemaName
|
Name der Schema, Query,Tableclasse oder definierte Row/Liste
|
|
prData
|
Row mit den Daten für die Where Bedingung Operater mit :: trennen(Beispiel like::%test% )
|
|
pcMainStatement
|
Hier kann man das Statement ersetzen wenn notwendig
|
|
pcExtraQuery
|
Zusatzabfragen nach Where oder die gesamte where wenn where drin vorkommt( @[prData.AUF_NUMMER] zb kann verwendet werden)
|
|
poSession
|
Sessionobject auf welches zugegriffen werden soll. Wenn nicht angegeben dann wird das StandardSQL-Objekt toDBSQLSessionRead verwendet
|
|
pnSilent
|
Alles Melden (0), Keine Warnung nur Fehler (1) keine Meldung (2)
|
Beispiel mit Query
Do toSQL.$getTableRow(#F,'T_D_AKTIV','','',con("where AKT_SEQ=",pRowData.AKT_SEQ)) Ret urns lRowAktiv
oder Query mit Bindvariable(Die Row heißt dabei immer prData)
Do toSQL.$getTableRow(#F,'T_D_AKTIV',pRowData,'',con("where AKT_SEQ=@[prData.AKT_SEQ]")) Returns lRowAktiv
Beispiel mit SearchRow
Do lrSearchRow.$definefromsqlclass('kplus.KP_PrinterGroup','KPPG_Alias') Calculate lrSearchRow.KPPG_Alias as tcCurrentPrinterGroup Do toSQL.$getTableRow(lbOk,'KP_PrinterGroup',lrSearchRow') Returns iRowPrinterGroup
$getTableList
Mit dieser Methode können Sie eine Liste aus einer Tabelle laden.
Die Parameter sind identisch mit der Funktion $getTableRow
$ExecuteSQL
Mit dieser Methode können Sie Statements an den Server senden und bei Bedarf auswerten bzw weiter verwenden. Tabellennamen sollten dabei mit der Funktion SQLTable() aufgelöst werden.
|
Parameter
|
Funktion
|
|
pcSql
|
Sql Statement
|
|
prData
|
Row mit den Daten für die Where Bedingung
|
|
prefOK
|
ktrue wenn OK
|
|
poSession
|
Sessionobject auf welches zugegriffen werden soll. Wenn nicht angegeben dann wird das StandardSQL-Objekt toDBSQLSessionRead verwendet
|
|
pnSilent
|
Alles Melden (0), Keine Warnung nur Fehler (1) keine Meldung (2)
|
Beispiel:
Do prData.$cols.$add('UserID',kInteger,kLongint) Calculate prData.UserID as pnUserID Begin statement (Carriage return) Sta: select PEF_ID,PEF_Name,PEF_Description from [toSQL.$SQLTable('KPSYS_PermissionFunctions')] Sta: inner join [toSQL.$SQLTable('KP_FunctionGroupAssignment ')] on FGA_FunctionID=PEF_ID Sta: inner join [toSQL.$SQLTable('KP_UserGroupAssignment ')] on FGA_GroupID=UGA_GroupID Sta: where UGA_UserID=@[prData.UserID] Sta: group by PEF_ID,PEF_Name,PEF_Description End statement
Get statement lcSQL Do $ctask.toSQL.$ExecuteSQL(lcSQL,prData,lbOK,'',2) Returns loStatementobject If lbOK Do loStatementobject.$fetch(lListPermissionFunktions,kFetchAll) Returns lbStatus End If
Quit method lListPermissionFunktions
|