#include <hk_connection.h>
Inheritance diagram for hk_connection:


Public Types | |
| enum | support_enum { SUPPORTS_AUTOINCCOLUMN = 1, SUPPORTS_BOOLCOLUMN = 2, SUPPORTS_DATECOLUMN = 3, SUPPORTS_TIMECOLUMN = 4, SUPPORTS_DATETIMECOLUMN = 5, SUPPORTS_BINARYCOLUMN = 6, SUPPORTS_MEMOCOLUMN = 7, SUPPORTS_TIMESTAMPCOLUMN = 8, SUPPORTS_TEXTCOLUMN = 9, SUPPORTS_INTEGERCOLUMN = 10, SUPPORTS_SMALLINTEGERCOLUMN = 11, SUPPORTS_FLOATINGCOLUMN = 12, SUPPORTS_SMALLFLOATINGCOLUMN = 13, SUPPORTS_PROPRIETARYCOLUMN = 19, SUPPORTS_SQL = 100, SUPPORTS_TRANSACTIONS = 101, SUPPORTS_REFERENTIALINTEGRITY = 102, SUPPORTS_NEW_DATABASE = 103, SUPPORTS_DELETE_DATABASE = 104, SUPPORTS_NEW_TABLE = 105, SUPPORTS_ALTER_TABLE = 106, SUPPORTS_DELETE_TABLE = 107, SUPPORTS_CREATE_INDEX = 108, SUPPORTS_DELETE_INDEX = 109, SUPPORTS_CHANGE_PASSWORD = 110, SUPPORTS_RENAME_DATABASE = 111, SUPPORTS_RENAME_TABLE = 112, SUPPORTS_VIEWS = 113, SUPPORTS_NEW_VIEW = 114, SUPPORTS_ALTER_VIEW = 115, SUPPORTS_DELETE_VIEW = 116, SUPPORTS_ADD_COLUMN = 117, SUPPORTS_DELETE_COLUMN = 118, SUPPORTS_CHANGE_COLUMNTYPE = 119, SUPPORTS_CHANGE_COLUMNNAME = 120, SUPPORTS_ALTER_PRIMARY_KEY = 121, SUPPORTS_ALTER_NOT_NULL = 122, SUPPORTS_SQL_GROUP_BY = 180, SUPPORTS_SQL_ORDER_BY = 181, SUPPORTS_SQL_HAVING = 182, SUPPORTS_SQL_WHERE = 183, SUPPORTS_SQL_ALIAS = 184, SUPPORTS_SQL_SUBSELECTS = 185, SUPPORTS_SQL_JOINS = 186, SUPPORTS_SQL_UNION = 187, SUPPORTS_LOCAL_FILEFORMAT = 200, SUPPORTS_NONALPHANUM_FIELDNAMES = 201, SUPPORTS_NONASCII_FIELDNAMES = 202, SUPPORTS_SPACE_FIELDNAMES = 203 } |
| enum | need_enum { NEEDS_LOGIN = 0, NEEDS_HOST = 1, NEEDS_USERNAME = 2, NEEDS_PASSWORD = 3, NEEDS_SQLDELIMITER = 4, NEEDS_PORT = 5, NEEDS_DATABASENAME = 6, NEEDS_BOOLEANEMULATION = 7, NEEDS_NULL_TERMINATED_SQL = 8, NEEDS_TABLE_ALIAS_AS = 9, NEEDS_MANUAL_CHARSET = 10, NEEDS_DIRECTORY_AS_DATABASE = 11 } |
Public Member Functions | |
| virtual | ~hk_connection () |
| void | set_host (const hk_string &h) |
| hk_string | host (void) |
| void | set_user (const hk_string &u) |
| hk_string | user (void) |
| void | set_password (const hk_string &p) |
| hk_string | password (void) |
| void | set_tcp_port (unsigned int t) |
| unsigned int | tcp_port (void) |
| void | set_defaultdatabase (const hk_string &) |
| hk_string | defaultdatabase (void) const |
| virtual unsigned int | default_tcp_port (void) const |
| bool | connect (enum_interaction c=interactive) |
| bool | disconnect (void) |
| bool | is_connected (void) |
| vector< hk_string > * | dblist (void) |
| hk_database * | new_database (const hk_string &name="") |
| bool | rename_database (const hk_string &originalname, const hk_string &new_name) |
| virtual bool | server_supports (support_enum) const |
| virtual bool | server_needs (need_enum) const |
| virtual bool | create_database (const hk_string &dbase) |
| virtual bool | delete_database (const hk_string &dbase, enum_interaction c=interactive) |
| bool | database_exists (const hk_string &databasename) |
| bool | set_newpassword (const hk_string &newpassword) |
| void | show_newpassworddialog (void) |
| bool | show_passworddialog (void) |
| virtual hk_string | drivername (void) const |
| void | set_booleanemulation (bool emulate) |
| bool | booleanemulation (void) const |
| hk_drivermanager * | drivermanager (void) |
| bool | copy_database (hk_database *fromdatabase, bool schema_and_data, bool copy_local_files, progress_dialogtype *progressdialog=NULL) |
| hk_string | last_servermessage (void) |
| hk_string | databasepath (void) |
| virtual hk_string | mimetype (void) const |
| virtual unsigned int | maxfieldnamesize (void) const |
| virtual long int | maxcharsize (void) const |
| virtual hk_string | left_join_statement (void) |
| virtual hk_string | inner_join_statement (void) |
| bool | is_sqlstatement (const hk_string &) |
Static Public Member Functions | |
| static void | set_passworddialog (password_dialogtype *) |
| static void | set_newpassworddialog (newpassword_dialogtype *) |
| static hk_string | check_capabilities (hk_connection *from, hk_connection *to) |
Protected Member Functions | |
| hk_connection (hk_drivermanager *c) | |
| virtual bool | driver_specific_connect (void) |
| virtual bool | driver_specific_disconnect (void) |
| virtual bool | driver_specific_rename_database (const hk_string &, const hk_string &) |
| virtual vector< hk_string > * | driver_specific_dblist (void) |
| virtual hk_database * | driver_specific_new_database (void) |
| virtual bool | driver_specific_new_password (const hk_string &) |
| virtual bool | driver_specific_delete_database (const hk_string &dbase) |
| void | db_remove (hk_database *d) |
| hk_string | sqldelimiter (void) |
| void | inform_databases_connect (void) |
| void | inform_databases_disconnect (void) |
| virtual void | savedata (ostream &s) |
| virtual void | loaddata (xmlNodePtr definition) |
| void | set_last_servermessage (const hk_string &m) |
| hk_database * | database (void) const |
| void | delete_databasedirectory (const hk_string &db) |
| void | delete_directory (const hk_string &d) |
Static Protected Member Functions | |
| static bool | internal_copy_check (hk_connection *from, hk_connection *to, support_enum) |
Protected Attributes | |
| bool | p_connected |
| vector< hk_string > | p_databaselist |
| list< hk_string > | p_sqlstatements |
Friends | |
| class | hk_database |
| class | hk_drivermanager |
see also serversupports. Defines what abilities and fieldtypes a database driver supports
see server_needs
| hk_connection::~hk_connection | ( | ) | [virtual] |
When the connection will be destroyed, the database created with new_database() and all its children will be destroyed
| void hk_connection::set_host | ( | const hk_string & | h | ) |
name of the host where the SQL Server is. Default is "localhost".
| void hk_connection::set_user | ( | const hk_string & | u | ) |
user name for the SQL Server.
| void hk_connection::set_password | ( | const hk_string & | p | ) |
password for the SQL Server
| void hk_connection::set_tcp_port | ( | unsigned int | t | ) |
TCP Port number of the SQL Server. Default is 3306.
| unsigned int hk_connection::default_tcp_port | ( | void | ) | const [virtual] |
returns the default tcp port of the the database driver;
| bool hk_connection::connect | ( | enum_interaction | c = interactive |
) |
tries to connect to the SQL Server. If some information is missing (i.e. password) a dialog will ask for these values. You can set a GUI dependend dialog with set_passworddialog
| bool hk_connection::disconnect | ( | void | ) |
disconnects from the SQL Server
| bool hk_connection::is_connected | ( | void | ) |
| vector< hk_string > * hk_connection::dblist | ( | void | ) |
if connected it returns a hk_stringlist of all existing databases on the SQL Server. The list will be created new every time you call this function. So be careful. Never use i.e. for_each(dblist()->begin(),dblist()->end(),anyfunction) Use instead: list<hk_string>* mylist=dblist(); for_each(mylist->begin(),mylist->end(),anyfunction)
| hk_database * hk_connection::new_database | ( | const hk_string & | name = "" |
) |
if you want to use a database on the SQL Server create a hk_database element with this class. For each connection you can define one database. If you define another one the old one will be destroyed.
| virtual bool hk_connection::server_supports | ( | support_enum | ) | const [inline, virtual] |
give information about the database server. See hk_definitions.h for details
| virtual bool hk_connection::server_needs | ( | need_enum | ) | const [inline, virtual] |
shows what information the database server needs (e.g. password).
| void hk_connection::set_passworddialog | ( | password_dialogtype * | ) | [static] |
the passworddialog will be called from connect if necessary. You can define a GUI dependend dialog and set it with this function. What exactly is asked in the dialog is database driver dependend (i.e. the Mysql driver needs user, password, host and tcp_port)
| bool hk_connection::create_database | ( | const hk_string & | dbase | ) | [virtual] |
tries to create a new database. If successful it returns true else false
| bool hk_connection::delete_database | ( | const hk_string & | dbase, | |
| enum_interaction | c = interactive | |||
| ) | [virtual] |
tries to delete a database.
| dbase | name of an existing database |
| bool hk_connection::database_exists | ( | const hk_string & | databasename | ) |
checks whether a database exists
| bool hk_connection::set_newpassword | ( | const hk_string & | newpassword | ) |
sets a new password at the SQL server.
| newpassword | the new password |
| void hk_connection::show_newpassworddialog | ( | void | ) |
shows a password dialog and sets the new password by calling set_newpassword If no passworddialog is set with set_newpassworddialog the necessary information will be queried at the standard output
| void hk_connection::set_newpassworddialog | ( | newpassword_dialogtype * | ) | [static] |
It is possible to define a newpassworddialog, which will be shown when set_newpassword is called
| hk_string hk_connection::drivername | ( | void | ) | const [virtual] |
returns the name of the driver (e.g Mysql,Postgres etc.)
| void hk_connection::set_booleanemulation | ( | bool | emulate | ) |
If the database does not have a native boolean type(like Mysql), but hk_classes should use one datatype to emulate, set this to true (default) else switch it off.
| bool hk_connection::copy_database | ( | hk_database * | fromdatabase, | |
| bool | schema_and_data, | |||
| bool | copy_local_files, | |||
| progress_dialogtype * | progressdialog = NULL | |||
| ) |
copies whole databases
| fromdatabase | the database that should be copied | |
| schema_and_data | if true both the table schemas will be created and the data will be copied, if false only the table will be created | |
| copy_local_files | if true queries,forms and reports will be also copied | |
| progressdialog | if set this function will be regularly called to show the progress |
| hk_string hk_connection::check_capabilities | ( | hk_connection * | from, | |
| hk_connection * | to | |||
| ) | [static] |
returns messages of possible problems when copying tables between two different backends
| virtual hk_string hk_connection::mimetype | ( | void | ) | const [inline, virtual] |
returns the mimetype of a local database format, if it is not a local database format it returns an empty string
| virtual long int hk_connection::maxcharsize | ( | void | ) | const [inline, virtual] |
returns the maximum length of the char() sql columntype
| void hk_connection::savedata | ( | ostream & | s | ) | [protected, virtual] |
saves the tags <HOST><USER><TCP-PORT><SQLDELIMITER> with the equivalent values
Reimplemented from hk_class.
| void hk_connection::loaddata | ( | xmlNodePtr | definition | ) | [protected, virtual] |
load the tags <HOST><USER><TCP-PORT><SQLDELIMITER> with the equivalent values
Reimplemented from hk_class.
1.5.0