Gambas Documentation
Application Repository
Code Snippets
Compilation & Installation
Components
gb
gb.args
gb.cairo
gb.chart
gb.clipper
gb.complex
gb.compress
gb.crypt
gb.data
gb.db
.Connection.Databases
.Connection.Tables
.Connection.Users
.Result.Fields
.SubCollection
.Table.Fields
.Table.Indexes
_Connection
Blob
Connection
_new
ApplyTemplate
Copy
GetTemplate
Options
print ?
SQL
Url
Connections
Database
DatabaseUser
DB
Field
Index
Result
ResultField
SQLRequest
Table
gb.db.form
gb.db.mysql
gb.db.odbc
gb.db.postgresql
gb.db.sqlite2
gb.db.sqlite3
gb.dbus
gb.dbus.trayicon
gb.debug
gb.desktop
gb.desktop.gnome.keyring
gb.desktop.x11
gb.eval
gb.eval.highlight
gb.form
gb.form.dialog
gb.form.editor
gb.form.htmlview
gb.form.mdi
gb.form.print
gb.form.stock
gb.form.terminal
gb.gmp
gb.gsl
gb.gtk
gb.gtk.opengl
gb.gtk3
gb.gtk3.opengl
gb.gtk3.webview
gb.gui
gb.gui.opengl
gb.gui.qt
gb.gui.qt.ext
gb.gui.qt.opengl
gb.gui.qt.webkit
gb.gui.trayicon
gb.gui.webview
gb.hash
gb.highlight
gb.image
gb.image.effect
gb.image.imlib
gb.image.io
gb.inotify
gb.jit
gb.libxml
gb.logging
gb.map
gb.markdown
gb.media
gb.media.form
gb.memcached
gb.mime
gb.mongodb
gb.mysql
gb.ncurses
gb.net
gb.net.curl
gb.net.pop3
gb.net.smtp
gb.openal
gb.opengl
gb.opengl.glsl
gb.opengl.glu
gb.opengl.sge
gb.openssl
gb.option
gb.pcre
gb.pdf
gb.poppler
gb.qt4
gb.qt4.ext
gb.qt4.opengl
gb.qt4.webkit
gb.qt4.webview
gb.qt5
gb.qt5.ext
gb.qt5.opengl
gb.qt5.webkit
gb.qt5.webview
gb.qt6
gb.qt6.ext
gb.qt6.opengl
gb.qt6.webview
gb.report
gb.report2
gb.scanner
gb.sdl
gb.sdl.sound
gb.sdl2
gb.sdl2.audio
gb.settings
gb.signal
gb.term
gb.test
gb.util
gb.util.web
gb.v4l
gb.vb
gb.web
gb.web.feed
gb.web.form
gb.web.gui
gb.xml
gb.xml.html
gb.xml.rpc
gb.xml.xslt
Controls pictures
Deprecated components
Developer Documentation
Development Environment Documentation
Documents
Error Messages
Gambas Playground
How To's
Language Index
Language Overviews
Last Changes
Lexicon
README
Search the wiki
To Do
Topics
Tutorials
Wiki License
Wiki Manual

Connection (gb.db)

This class represents a connection to a database.

To connect to a database, create a connection object, fill the needed properties, and call the Open method.

This class inherits _Connection.

This class is creatable.

Properties
Options   Return or set the connection options.
SQL   Returns a SQLRequest object on that connection.
Url   Return the connection URL.

Inherited properties
Charset   Returns the charset used by the database.
Collations   Return the list of collations available in the database
Databases   Returns a collection of all databases managed by the database server.
Error   Returns the code of the last error raised by the database driver.
FullVersion   Return the full version string of the database server.
Handle   Return the handle of the connection.
Host   Returns or sets the host where the database server resides.
IgnoreCharset   Return or set if the database charset should be ignored.
LastInsertId   Return the value of the last serial field used in an INSERT statement.
Login   Returns or sets the user used for establishing the connection.
Name   Returns or sets the name of the database you want to connect to.
Opened   Returns if the connection is opened.
Password   Returns or sets the password used for establishing the connection.
Port   Returns or sets the TCP/IP port used for establishing the connection.
Tables   Returns a virtual collection used for managing the tables of the database.
Timeout   Return or set the connection timeout in seconds.
Type   Represents the type of the database server you want to connect to.
User   A synonym for the Login property.
Users   Returns a collection of all users registered in the database server.
Version   Returns the version of the database that the driver has connected to.

Methods
ApplyTemplate   Apply a template to the connection, i.e. replicate the database structure described by the template string into the current database.
Copy   Return a copy of the connection object.
GetTemplate   Return the structure of the database as a template string.

Inherited methods
Begin   Start a transaction.
Close   Close the connection.
Commit   Commit a transaction.
Create   Return a read/write Result object used for creating records in the specified table.
Delete   Removes records from a database table.
Edit   Returns a read/write Result object used for editing records in the specified table.
Exec   Executes an arbitrary SQL request, and returns a read-only Result containing the result of the request.
Find   Returns a read-only Result object used for querying records in the specified table.
FormatBlob   Format some blob data into a quoted string that can be inserted into a SQL query.
Limit   Limits the number of records returned by the next query.
Open   Opens a connection to the specified database.
Quote   Returns a quoted identifier so that you can freely insert it into a query.
Rollback   Cancel a transaction.
Subst   Creates a SQL sentence by substituting its arguments into a format string.

SQLite connections

For SQLite connections, the following algorithm is used:

  • If Name is null, then a memory database is opened.

  • If Name is an absolute path, then this path is used.

  • If Name is a relative path, then:
    • If Host is null, then the database is located in the application temporary directory. See Temp$() for more information.

    • Otherwise, Host gives the database directory, and the database path is the result of concatenating Host and Name.

ODBC connections

For ODBC connections, the following algorithm is used:

  • If Host are defined and also Login, it will connect using it as DSN name.

  • If Host has semicolons at least one, it will assume the property holds a ConnStr.

  • If Host has no semicolons, it will connect using it as DSN name.
    • Otherwise, it will use the ConnStr in .Host to call ODBC SQLDriverConnect function.

See also