#include <sqldatabase.h>
This class provides SQL database functionality. With it it's possible to query sql databases. E.g. Result<SqlDatabaseRef> mySql = SqlDatabaseClasses::MySql().Create(); provides access to mysql databases.
Public Member Functions | |
MAXON_METHOD Result< void > | Init (const String &sqlServer, Int sqlServerPort, const String &sqlUserName, const String &sqlPasswd, const String &sqlDatabase) |
MAXON_METHOD Result< void > | Init (const Url &sqlFile, const String &sqlDatabase) |
MAXON_METHOD Bool | IsConnected () const |
MAXON_METHOD Result< void > | QuerySQL (const String &query, Int64 *insertId=nullptr, const ValueReceiver< const BaseArray< String > & > &result={}) |
MAXON_METHOD Result< void > | ExecuteSQLQuery (const String &query, const Block< ConstDataPtr > &arguments={}, Int64 *insertId=nullptr, const ValueReceiver< BaseArray< Data > && > &result={}, const ValueReceiver< const String & > &columnTitles={}) |
MAXON_METHOD Result< String > | QuotedString (const String &text) const |
MAXON_METHOD Result< String > | ReplaceString (const String &text) const |
MAXON_METHOD Result< void > | StartTransactions (const TimeValue &delayCommitTime, Int maxExecutes) |
MAXON_METHOD Result< void > | CommitTransactions () |
Private Member Functions | |
MAXON_INTERFACE (SqlDatabaseInterface, MAXON_REFERENCE_NORMAL, "net.maxon.interface.sqldatabase") | |
|
private |
MAXON_METHOD Result<void> Init | ( | const String & | sqlServer, |
Int | sqlServerPort, | ||
const String & | sqlUserName, | ||
const String & | sqlPasswd, | ||
const String & | sqlDatabase | ||
) |
Opens the connection to a.
[in] | sqlServer | IP address of the sql server. |
[in] | sqlServerPort | Port of the sql server. |
[in] | sqlUserName | User name at the given sql server. |
[in] | sqlPasswd | Password of the user. |
[in] | sqlDatabase | Opens this database within the sql database on the server. This parameter is optional. |
MAXON_METHOD Result<void> Init | ( | const Url & | sqlFile, |
const String & | sqlDatabase | ||
) |
Opens a connection to a database file.
[in] | sqlFile | File to open. |
[in] | sqlDatabase | Opens this database within the sql database on the server. This parameter is optional. |
MAXON_METHOD Bool IsConnected | ( | ) | const |
Determines if the connection to the database has been established.
MAXON_METHOD Result<void> QuerySQL | ( | const String & | query, |
Int64 * | insertId = nullptr , |
||
const ValueReceiver< const BaseArray< String > & > & | result = {} |
||
) |
Sends a query to the database.
[in] | query | The sql request string. E.g. "SELECT * from mydatabase". |
[out] | insertId | If the query inserted data into the database, this pointer returns the insert id in the database. This parameter is optional. |
[out] | result | If the query returns data it will be filled into this array. This parameter is optional. The outer array contains the number of lines returned by this query. The first line contains the field header names. The inner array the fields per line returned by this query. |
MAXON_METHOD Result<void> ExecuteSQLQuery | ( | const String & | query, |
const Block< ConstDataPtr > & | arguments = {} , |
||
Int64 * | insertId = nullptr , |
||
const ValueReceiver< BaseArray< Data > && > & | result = {} , |
||
const ValueReceiver< const String & > & | columnTitles = {} |
||
) |
ExecuteSQLQuery description.
[in] | query | The sql request string. E.g. "SELECT * from mydatabase". |
[in] | arguments | If the select statement contains "?" the arguments will be populated from the arguments array. e.g. "SELECT * from table WHERE col1 = ?" |
[out] | insertId | If the query inserted data into the database, this pointer returns the insert id in the database. This parameter is optional. |
[out] | result | If the query returns data it will be filled into this array. This parameter is optional. The outer array contains the number of lines returned by this query. The inner array the fields per line returned by this query. |
[out] | columnTitles | Delegate to receive the column titles. This is called once. |
MAXON_METHOD Result<String> QuotedString | ( | const String & | text | ) | const |
This functions returns a quoted string usable for sql queries. This function calls internally ReplaceString() to make the given text sql conform.
[in] | text | The given text the has to be converted. |
MAXON_METHOD Result<String> ReplaceString | ( | const String & | text | ) | const |
This functions converts a string into usable style for sql queries.
[in] | text | The given text the has to be converted. |
MAXON_METHOD Result<void> StartTransactions | ( | const TimeValue & | delayCommitTime, |
Int | maxExecutes | ||
) |
StartTransactions calls "BEGIN TRANSACTION" to collect the next calls. After the given time the commit is done.
[in] | delayCommitTime | Time after which the commit should be called. Disabled if value == TIMEVALUE_INFINITE |
[in] | maxExecutes | Maximum Number of executes after commit should be called. Disabled if maxExecutes == NOTOK |
MAXON_METHOD Result<void> CommitTransactions | ( | ) |
CommitTransactions force to commit the changes since the last start of StartTransactions(). Does nothing if not in transaction mode