Module

# DBKit Module

<div class="rst-class">

forsearch

</div>

DBKit Module

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

## Description

Shared constants and helper methods used by the DBKit controls.

## Methods

<div class="rst-class">

table-centered_column_4

</div>

| Name                                                          | Parameters                                                                                     | Returns                          | Shared |
|---------------------------------------------------------------|------------------------------------------------------------------------------------------------|----------------------------------|--------|
| `Decamelcase<dbkit.module.decamelcase>`                       | source As `String</api/data_types/string>`                                                     | `String</api/data_types/string>` |        |
| `ErrorMessage<dbkit.module.errormessage>`                     | message As `String</api/data_types/string>`, methodName As `String</api/data_types/string>`    |                                  |        |
| `LocalizedMessage<dbkit.module.localizedmessage>`             | msg As `String</api/data_types/string>`, ParamArray values As `String</api/data_types/string>` | `String</api/data_types/string>` |        |
| `Number<dbkit.module.number>`                                 | StringValue As `String</api/data_types/string>`                                                | `Double</api/data_types/double>` |        |
| `TableNameWithoutSchema<dbkit.module.tablenamewithoutschema>` | tableName As `String</api/data_types/string>`                                                  | `String</api/data_types/string>` |        |

## Constants

| Name               | Type                             | Description                                                                                        |
|--------------------|----------------------------------|----------------------------------------------------------------------------------------------------|
| DoubleQuote        | `String</api/data_types/string>` | A single double-quote character, for use when building or parsing strings that may contain quotes. |
| Version            | `String</api/data_types/string>` | Contains the DBKit version number.                                                                 |
| XojoMinimumVersion | `Double</api/data_types/double>` | The minimum version of Xojo required to use DBKit.                                                 |

## Method descriptions

<div id="dbkit.module.decamelcase">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

DBKit.Decamelcase

**Decamelcase**(source As `String</api/data_types/string>`) As `String</api/data_types/string>`

> Inserts spaces at case boundaries in *source* (for example "FirstName" becomes "First Name"). Strings that are entirely uppercase are returned unchanged.

<div id="dbkit.module.errormessage">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

DBKit.ErrorMessage

**ErrorMessage**(message As `String</api/data_types/string>`, methodName As `String</api/data_types/string>`)

> Beeps and displays a message box with the text "DBKit Error in " followed by *methodName*, ": " and *message*.

<div id="dbkit.module.localizedmessage">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

DBKit.LocalizedMessage

**LocalizedMessage**(msg As `String</api/data_types/string>`, ParamArray values As `String</api/data_types/string>`) As `String</api/data_types/string>`

> Returns *msg* with each \<\$n\> placeholder replaced by the corresponding value (\<\$1\> is replaced by the first value, \<\$2\> by the second, and so on).
>
> Used to insert values into localizable message strings such as `InvalidValueMessage<dbkit.textfield.invalidvaluemessage>`.

<div id="dbkit.module.number">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

DBKit.Number

**Number**(StringValue As `String</api/data_types/string>`) As `Double</api/data_types/double>`

> Strips all characters from *StringValue* except digits, the minus sign and the locale's decimal separator, and returns the result as a `Double</api/data_types/double>`.

<div id="dbkit.module.tablenamewithoutschema">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

DBKit.TableNameWithoutSchema

**TableNameWithoutSchema**(tableName As `String</api/data_types/string>`) As `String</api/data_types/string>`

> Returns *tableName* with any schema prefix removed (for example "schema.table" becomes "table").

## Notes

### How display names are resolved

When a control needs a display name, for example in a message shown to the user, it uses the control's DisplayName if one is set. Otherwise it uses the column name, falling back to the control's own name, with camel case converted to separate words. Names that are entirely uppercase are left unchanged.

### Transactions

Only one SQL transaction can be in progress at a time per connection, so DBKit prevents the user from editing more than one row at a time. If your own code starts transactions, check your DatabaseConnection object's IsTransactionActive first so that your code and DBKit's code do not try to start a transaction when one is already active.

## Compatibility

|                       |              |
|-----------------------|--------------|
| **Project Types**     | Desktop, Web |
| **Operating Systems** | All          |
