User Tools

Site Tools


api:dk11:delphi:gisdb.tgis_dbabstract



TGIS_DbAbstract class

DK for Delphi | GisDb.TGIS_DbAbstract | Classes | Constructors | Fields | Methods | Properties | Events

Abstract base class for database engines used by SQL-backed GIS layers.

Available also on: .NET | Java.

Syntax

// Delphi
type
  TGIS_DbAbstract = class( TGIS_ObjectDisposable )
  end;
// C++ Builder
class PASCALIMPLEMENTATION TGIS_DbAbstract : public TGIS_ObjectDisposable
{
};

Inheritance

Constructors

Inherited Overrides Protected
Name Visibility Description
Create public Creates an abstract database engine instance and initializes default SQL dialect and provider state.

Fields

Inherited Protected
Name Visibility Description
FDialect protected SQL dialect name.
FFullSafeParam protected True to return a safe parameter prefix with the parameter name; otherwise only the prefix is returned.
FGeometryType protected Internal geometry storage subtype for the current provider.
FiCodePage protected Cached code page value used for optimization.
FiJoinCodePage protected Cached join code page value used for optimization.
FInBatchMode protected True, if batch mode is enabled.
FisDb2 protected True if the current SQL dialect is IBM DB2.
FisInformix protected True if the current SQL dialect is Informix.
FIsInitializedProvider protected True if the database provider has been initialized.
FisInterbase protected True if the current SQL dialect is InterBase.
FIsJDBC protected True if JDBC (Java Database Connectivity) is used.
FisMsJet protected True if the current SQL dialect is Microsoft Jet.
FisMsSql protected True if the current SQL dialect is Microsoft SQL Server.
FisMySql protected True if the current SQL dialect is MySQL.
FisOracle protected True if the current SQL dialect is Oracle.
FisPostgreSql protected True if the current SQL dialect is PostgreSQL.
FisSqlite protected True if the current SQL dialect is SQLite.
FisSybase protected True if the current SQL dialect is Sybase.
FMultiUserMode protected Multiuser mode for database access and update behavior.
FNameMaxLength protected Maximum length allowed for SQL object names.
FOnSQLExecute protected Event handler called before an SQL command is executed.
FParameterPrefix protected SQL parameter prefix used by the current provider.
FReuseQuery protected If True, reuse opened query, otherwise open a new query.
FRowsetSize protected Number of rows fetched in batches from the cursor database (default 0).
FUseTextParameters protected Use text parameters.
options protected Engine options.

Methods

Inherited Overrides Protected
Name Visibility Description
cursorClose public Free a cursor allocated by cursorOpen().
cursorOpen public Allocate a new cursor.
FinalizeProvider public Finalizes the database provider backend.
getLastCursor public Get last opened cursor index.
GetLastErrorMessage public Returns the last database provider error message.
InitializeProvider public Initializes the database provider backend.
PreRecognize public Checks whether the database provider can recognize and open a layer configuration for the specified path, storage, and SQL type.
safeParam public Get a safe parameter.
sqlBaseFolder public Return base folder for a layer.
sqlBindField public Obtain a bind number for a given field name.
sqlBuild public Build a new SQL layer.
sqlConnect public Opens a database connection using the provider-specific SQL parameters.
sqlCreateFunction public Create a function on the database side.
sqlDisconnect public Close database connection.
sqlExec public Executes an SQL command that does not return a cursor.
sqlGetBindedField public Get the value of a binded field for the current shape from the database.
sqlGetParams public Get a parameters list.
sqlInitialize public Initializes SQL dialect flags and engine options from connection parameters and dialect definitions.
sqlLastInsertId public Get last inserted record id.
sqlPathAbsolute(String; String; Boolean) public Resolves potentially embedded database path in a connection string into an absolute path.
sqlPathAbsolute(String; String; Char; Boolean) public Resolves potentially embedded database path in a connection string into an absolute path.
sqlPathAbsolute(String; String; Char; String; Char) public Resolves a file path embedded in a connection string into an absolute path.
sqlQueryClose public Closes the query cursor.
sqlQueryEof public Tests whether the query cursor reached EOF and closes the query when EOF is reached.
sqlQueryGeometryIsText public Test whether geometry data is stored as text.
sqlQueryGetBlob public Get blob data from the query.
sqlQueryGetField public Get a field from the query by field name.
sqlQueryGetFieldById public Get a field from the query by field index.
sqlQueryGetFieldIndex public Get field index from query.
sqlQueryGetGeomObj public Get a geometry object from the query.
sqlQueryGetGeomPtr public Get geometry data from the query as a pointer.
sqlQueryGetGeomVAR public Get geometry data from the query as an OleVariant value.
sqlQueryGetGEOUID(Integer; Integer) public Get a GEO.UID value from the query by field index.
sqlQueryGetGEOUID(String; Integer) public Get a GEO.UID value from the query by field name.
sqlQueryGetSHAPETYPE public Get a SHAPETYPE value from the query.
sqlQueryGetXMIN public Get an XMIN value from the query.
sqlQueryGetYMIN public Get a YMIN value from the query.
sqlQueryMoveFirst public Move to first record of query.
sqlQueryMoveNext public Move to next record of query.
sqlQueryNameGEOUID public Get the GEO.UID field value from the query.
sqlQueryOpen public Opens a query and closes any previously active query for the same cursor.
sqlQueryReset public Resets the current SQL query for the specified cursor.
sqlQueryStructure public Fill the current layer structure based on the query.
sqlQueryUnPrepareGetGeom public Unprepare geometry access.
sqlTableAppend public Append a new record into the table.
sqlTableClose public Close the table.
sqlTableCreateParam public Create a table parameter.
sqlTableEof public Tests whether the table cursor reached EOF and closes the table when EOF is reached.
sqlTableExec public Execute opened table command.
sqlTableGetField public Get a field from the table.
sqlTableGetParam public Get a parameter value from the table.
sqlTableOpenRead public Opens a table for read access using the provided filter query.
sqlTableOpenWrite public Opens a table for write access using the provided filter query.
sqlTablePost public Update the table (after any change).
sqlTablePrepared public Returns whether the table is prepared for inserting a new record.
sqlTableSetBlob public Set blob data in the table.
sqlTableSetField public Set a field value in the table.
sqlTableSetGeometry(Integer; String; OleVariant; TGIS_MemoryStream) public Set geometry data in the table.
sqlTableSetGeometry(Integer; String; TObject) public Set geometry data in the table.
sqlTransactGlobalUpdateCommit public Commits the current global transaction.
sqlTransactGlobalUpdateStart public Starts a global transaction for grouped updates.
sqlTransactRestructCommit public Commits the current restructure transaction.
sqlTransactRestructStart public Starts a restructure transaction.
sqlTransactRollback public Rollback global transaction.
sqlTransactUpdateCommit public Commits the current update transaction.
sqlTransactUpdateStart public Starts an update transaction.
sqlUpdateStart public Start update operations for the table.

Properties

Inherited Protected
Name Visibility Description
CurrentSQLDialect public Current SQL dialect name.
EngineOptions public Engine option flags controlling database provider behavior.
FullSafeParam public True to return the safe parameter prefix together with the parameter name; False to return only the prefix.
GeometryType public Internal geometry type.
iCodePage public Code page used for string conversion.
iJoinCodePage public Code page used for join field string conversion.
InBatchMode public True, if batch mode is enabled for fast inserts.
IsDb2 public True if the current SQL dialect is DB2.
IsInformix public True if the current SQL dialect is Informix.
IsInterbase public True if the current SQL dialect is InterBase.
IsJDBC public True if JDBC (Java Database Connectivity) is used.
IsMsJet public True if the current SQL dialect is Microsoft Jet.
IsMsSql public True if the current SQL dialect is Microsoft SQL Server.
IsMySql public True if the current SQL dialect is MySQL.
IsOracle public True if the current SQL dialect is Oracle.
IsPostgreSql public True if the current SQL dialect is PostgreSQL.
IsProviderInitialized public True if the provider has been initialized.
IsSqlite public True if the current SQL dialect is SQLite.
IsSybase public True if the current SQL dialect is Sybase.
MultiUserMode public Multiuser mode.
NameMaxLength public Maximum SQL identifier name length.
ParameterPrefix public SQL parameter prefix used when formatting parameterized commands.
RowsetSize public Number of rows fetched from the database cursor in each batch operation; 0 uses provider defaults.
UseTextParameters public Use text parameters.

Events

Inherited Protected
Name Visibility Description
SQLExecuteEvent published Fired before an SQL statement is executed.

Remarks

Reuse query

By default, if a query sql doesn't change, an existing dataset is reused. To always make a recreation of a query reflecting changes in a table that was modified manually in the database, REUSEQUERY options can be used either by :

  • adding REUSEQUERY=false to a connector file or embedded Path, or
  • adding a global metadata key TGIS_DbAbstract.REUSEQUERY with value 'true'

2026/07/11 00:24

Page Tools