Table of Contents

Namespace Tripous.Data

Classes

AggregateTypes

Provides helper methods for aggregate types.

BatchCommitArgs

Used with the TableSet CommitBatch() method.

CodeProviderDef

Generates codes using a named code provider entry.

CodeProviderEntry

Represents a code provider entry, usually loaded from the NumberSeries table.

CodeProviderModule

The CodeProviderDef module

Config

Provides access to application configuration values.

Configuration property definitions are registered in code and stored in the Properties collection. Actual values are stored separately and may exist at different scopes: * User * Company * System

Effective values are resolved using the following order: User -> Company -> System -> DefaultValue

Company values are resolved using DbConfig.CompanyId. User values are resolved using the current application user.

ConfigPropertyDef

Describes a configuration property definition.

A configuration property definition contains only metadata, such as display information, security requirements, value type, and default value. Actual values are stored separately and may exist at different scopes (System, Company, User).

Examples: * Trade.DefaultPaymentMethodId * Trade.DefaultPaymentTermId * Ui.Theme * Sales.LineGridLayout

ConnectionStringBuilder

Provides helper methods and strongly typed accessors for manipulating database connection strings.

DataColumnExtensions

Extensions

DataFieldDef

Database table field definition

DataFieldTypeHelper

Helper

DataModule

Base class for all data modules.

A data module represents a table tree, such as SalesOrder along with a list SELECT table.

DataModuleException

Base class for all exceptions thrown by the Data module.

DataRegistry

Registry of the data layer.

DataRowExtensions

A helper class for returning typed values from a DataRow in a safe manner

DataRowViewExtensions

A helper class for returning typed values from a DataRowView in a safe manner, by leveraging the existing DataRowExtensions.

DataTableDef

Database table definition

DataTableExtensions

Extensions

Db

The central point of this library

DbConAdapter

Base class for connection string adapters.

DbConAdapters

Registry of connection string adapters used for building and parsing connection strings.

DbConProp

Represents a connection string property value.

DbConPropDef

Defines a connection string property supported by a connection adapter.

DbConPropExtensions

Provides extension methods for lists of connection string properties.

DbConfig

Provides global database configuration settings used by the data layer.

DbConnectionInfo

Information about a connection to a database.

DbConnections

A container of DbConnectionInfo objects.

This object is saved to a JSON file.

DbGlobalSettings

Db global settings

DbIni

Simulates an .ini file using a table in a database

DbMetaColumn

Represents metadata for a database table column.

DbMetaConstraint

Represents metadata for a database constraint.

DbMetaForeignKey

Represents metadata for a database foreign key constraint.

DbMetaIndex

Represents metadata for a database index.

DbMetaObject

Represents the base abstract class for all database metadata schema objects.

DbMetaProcedure

Represents metadata for a database stored procedure or function.

DbMetaSequence

Represents metadata for a database sequence or generator.

DbMetaTable

Represents metadata for a database table, including its structural components and schema relationships.

DbMetaTrigger

Represents metadata for a database trigger.

DbMetaView

Represents metadata for a database relational view object.

DbOpContext

Database operation context.

DbOps

A helper class that post changes, i.e. INSERT-UPDATE-DELETE, of a single MemTable table or a table tree to the database.

All tables should have the InsertRowSql and the UpdateRowSql of their Sqls defined.

WARNING: Only DataRows that have the Added, Modified or Deleted DataRowState defined are processed.

DbSchema

Represents the comprehensive database schema container, managing structural metadata collection.

DbSchemaLoader

Provides static data discovery methods to populate a DbSchema container using embedded SQL resources.

DbServerTypeHelper

Extension methods.

DetailList

Represents a list of MemTable instances, detail to a master MemTable.

Both the master and the detail MemTable instances must belong to the same DataSet, otherwise an exception is thrown.

DocumentHandlerDef

A document handler definition.

NOTE: There is an one-to-one relationship between document handlers and document modules, based on their names.

That is, if there is a document module name SalesOrders there must be a document handler with the same name.

FieldDef

A field definition

FirebirdConAdapter

Connection string adapter for Firebird databases.

ItemFactBoxContext

Provides the non-UI context passed to an item FactBox provider.

ItemFactBoxDef

Describes a readonly contextual FactBox for an item page.

ItemFactBoxProvider

Base class for item FactBox data providers.

ItemInfoFactBoxProvider

A simple FactBox provider that returns diagnostic item information.

ItemStandardInfoFactBoxData

Serializable data for the built-in item information FactBox.

ItemStructureFactBoxData

Serializable data describing the structure of an item module.

ItemStructureFactBoxProvider

Provides item module structure information for a FactBox.

ItemStructureFieldInfo

Serializable field information for an item structure FactBox.

ItemStructureTableInfo

Serializable table information for an item structure FactBox.

JsonDataColumn

JSON contract for a data column and its field metadata used by Tripous Web.

JsonDataModule

JSON contract for a DataModule used by Tripous Web.

JsonDataRow

JSON contract for a data row used by Tripous Web.

JsonDataSet

JSON contract for a data set used by Tripous Web.

JsonDataTable

JSON contract for a data table used by Tripous Web.

JsonLocatorDef

JSON contract for a locator definition.

JsonLocatorField

JSON contract for a locator field.

JsonLocatorList

JSON contract for a table-specific locator definition list.

JsonLocatorMapItem

JSON contract for a locator mapping item.

JsonLocatorMapPlan

JSON contract for a locator mapping plan.

JsonSelectFilter

JSON contract for an active select filter sent by a Tripous Web client.

JsonSelectFilters

JSON contract for a list of active select filters sent by a Tripous Web client.

Locator

Runtime locator.

LocatorContext

Context of a locator resolution operation.

LocatorDef

Declarative definition of a locator resolution process.

LocatorFieldDef

Describes a field that participates in a LocatorDef.

LocatorMapItem

A locator mapping item.

LocatorMapPlan

A locator mapping plan.

LocatorMapper

Creates locator mapping plans.

LocatorRequest

Request for a locator resolution operation.

LocatorResult

Result of a locator resolution operation.

Locators

Static locator service.

LogDataModule

Just in case anyone wants to derive from this class.

LookupDef

Represents a lookup list.

Lookup list items may come from

LookupItem

Represents an individual item entry within a data lookup or selection component.

LookupSource

A source of a lookup list of items.

MemTable

An extended DataTable

ModuleDef

Describes a DataMode

MsSqlConAdapter

Connection string adapter for Microsoft SQL Server databases.

MySqlConAdapter

Connection string adapter for MySQL databases.

OracleConAdapter

Connection string adapter for Oracle databases.

PostgreSqlConAdapter

Connection string adapter for PostgreSQL databases.

Schema

The holder of all schema versions of a certain Schema.

A Schema has a unique domain name and a connection name.

The Domain could be System, Application, or the unique identifier name of an external plugin.

The ConnectionName connection name, used in creating the relevant SqlStore instance that executes the schema.

A Schema has also a list of SchemaVersion items.

A SchemaVersion item has an integer version, and collections of SchemaItem items for tables and views, along with collections of statements to be executed before and after the schema version is executed.

SchemaItem

Represents a schema item, actually only table and view is supported.

SchemaVersion

Represents a version of a database schema.

SchemaVersionDef

Represents the baseline schema version definition and component registration entry.

SchemaVersionExtensions

Extension methods for SchemaVersion

Schemas

The registry of database schemas.

A Schema has a unique domain name and a connection name.

The Domain could be System, Application, or the unique identifier name of an external plugin.

The ConnectionName connection name, used in creating the relevant SqlStore instance that executes the schema.

A Schema has also a list of SchemaVersion items.

A SchemaVersion item has an integer version, and collections of SchemaItem items for tables and views, along with collections of statements to be executed before and after the schema version is executed.

SelectDef

Describes a SELECT statement along with its possible WHERE filters.

SelectDefs

A list of SELECT statements.

SelectSql

Represents a SQL SELECT statement.

NOTE: This is not a full SQL parser.

It supports nested SELECT statements inside parentheses because the parser ignores clause keywords while inside parentheses.

SelectSqlParser

A simple SELECT Sql parser. It parses a SELECT statement into its constituents parts.

NOTE: This is not a full SQL parser.

It supports nested SELECT statements inside parentheses because it ignores clause keywords while inside parentheses.

It also skips string literals, comments, double quoted identifiers, bracketed identifiers, and backtick quoted identifiers.

SqlCache

A cache of DataTable instances, containing schema of a named sql statement, per connection.

SqlFilterDef

Describes a filter applied to a Field.

The field could be a DataColumn in a DataView or a field in a SELECT statement text.

It can be used to construct the RowFilter or to construct the WHERE clause of a SELECT statement.

SqlFilterDefs

A list of filter items.

It can be used to to construct the RowFilter or to construct the WHERE clause of a SELECT statement.

SqlFilterExpressionDef

A filter expression,

e.g. [[string:Customer Name]]

See the SqlFilterExpressions.txt file for the filter syntax.

SqlHelper

A collection of static methods for manipulating Sql statements.

SqlParam

Represents a parameter for a SQL statement.

SqlParamRef

Represents a reference to a SqlParam

SqlParamScanner

Scans a SQL text for parameter references.

SqlParams

A collection of SqlParam objects

SqlProvider

Base class for all SQL providers.

SqlProviderFirebird

SqlProvider for Firebird databases.

SqlProviderMsSql

SqlProvider for Microsoft SQL Server databases.

SqlProviderMySql

SqlProvider for MySql databases.

SqlProviderOracle

SqlProvider for Oracle databases.

SqlProviderPostgreSql

SqlProvider for PostgreSQL databases.

SqlProviderSqlite

SqlProvider for SQLite3 databases.

SqlProviders

A collection of SqlProvider instances.

SqlStatementBuilder

Generates Sql statements for a DataTable.

SqlStore

Sql store. Used in executing SELECT, INSERT, UPDATE, DELETE, etc commands, using a DbConnection.

Many methods use a Params parameter. That Params can be:
a. either a comma separated list of parameters or
b. the Params[0] element, that is the first element in Params, may be

  1. a DataRow
  2. a generic IDictionary<string, object>
  3. or an IList or Array

and in this second case no other Params elements are used

SqlStores

Helper

SqlTextItem

Represents an SQL statement request.

SqlTransactionContext

Owns a database connection and a single transaction for the lifetime of an operation.

SqlTypeTokens

Sql type tokens used as placeholders in constructing RDBMS-neutral CREATE TABLE statements.

SqlValueProviders

Provides values to Sql statements by replacing placeholders, such as AppData and AppUserName, with actual values.

Provides values to DataRows when they have DataColumns named such as AppData and AppUserName.

SqlWhereFilterFormatter

A formatter for SQL WHERE filter definitions.

SqliteConAdapter

Connection string adapter for SQLite databases.

SysConfigModule

Data module for system configuration.

TableDef

A table definition

TableSet

Represents a set of tables that are related to each other.

TableSetException

Base class for all exceptions thrown by the TableSet class.

TableSqls

Represents the full group of DML statements

TransactionEventArgs

Used with transaction event

TripousBusinessException

Base class for all exceptions thrown by the business layer.

TripousDataException

Base class for all exceptions thrown by the data layer.

UniqueConstraintDef

For table-wise unique constraints, possibly on multiple fields.

Interfaces

IRowProvider

Provides a CurrentRow property.

Useful for single-row tables, and not only.

IRowProviderHost

Provides access to multiple IRowProvider.

Useful when multiple tables are in an one-to-one relationship, such as a Trade, a StoreTrade and a FinTrade table.

ISqlValueProvider

Provides values to Sql statements by replacing placeholders, such as AppData and AppUserName, with actual values.

Provides values to DataRows when they have DataColumns named such as AppData and AppUserName.

Enums

AggregateType

Specifies the aggregate operation to be applied to a data column.

AlterTableType

Indicates the type of alteration to be done in a table column

BoolOp

Specifies a logical boolean operator.

BuildSqlFlags

Flags indicating the behavior of Sql statement generators

ConditionOp

Represents a condition operator used in building filter expressions.

ConfigScope

Specifies the target organizational layer or visibility context for a configuration property.

ConfigScopeFlags

Specifies the configuration scopes supported by a configuration property definition.

ConfigValueKind

Specifies the structural classification or serialization type of a configuration entry value.

ConstraintType

Specifies the type of a database constraint.

DataColumnType

Indicates the data type of a column.

DataFieldType

The data-type of a data field

DataMode

Indicates the mode of a form or business object

DbConPropType

Defines the logical connection string property types used by connection adapters.

DbServerType

Indicates the type of the database server.

FieldFlags

A list of possible field flags.

LocateOptions

Indicates the location object that a Locate() call uses

LocatorResultListKind

The kind of result list returned by a locator resolution operation.

LocatorResultStatus

Status of a locator resolution operation.

OidMode

Indicates when a numeric ID, which uniquelly identifies a database row, is created: Before or After the insertion of the new row. For example, MS Sql identity columns are considered After. Firebird Generators and Oracle Sequencers are considered Before.

OidMode has effect only when OIDs are integers.

An OID (Object Identifier) must uniquely identify a data table row and must has no business meaning at all.

ResetPeriod

Indicates the period after which a value is reset.

SqlFilterExpressionType

Indicates the type of a filter expression.

See the SqlFilterExpressions.txt file for the filter syntax.

SqlWhereFilterMode

Indicates how a WHERE filter is incorporated into an SQL statement.

TableSetFlags

A set of flags that dictate the behavior of a TableSet object.

TransactionStage

Indicates the stage (phase) of a transaction operation