25 sqlite3_close_v2( database );
30 sqlite3_finalize( statement );
35 return sqlite3_step(
get() );
40 return QString::fromUtf8( static_cast<const char *>( sqlite3_column_name(
get(), column ) ) );
45 return sqlite3_column_double(
get(), column );
50 return sqlite3_column_count(
get() );
55 return QString::fromUtf8( reinterpret_cast<const char *>( sqlite3_column_text(
get(), column ) ) );
60 return sqlite3_column_int64(
get(), column );
66 int result = sqlite3_open( path.toUtf8(), &database );
74 int result = sqlite3_open_v2( path.toUtf8(), &database, flags, zVfs );
81 return QString( sqlite3_errmsg(
get() ) );
86 sqlite3_stmt *preparedStatement =
nullptr;
87 const char *tail =
nullptr;
88 resultCode = sqlite3_prepare(
get(), sql.toUtf8(), sql.toUtf8().length(), &preparedStatement, &tail );
90 s.reset( preparedStatement );
98 int ret = sqlite3_exec(
get(), sql.toUtf8(),
nullptr,
nullptr, &errMsg );
102 errorMessage = QString::fromUtf8( errMsg );
103 sqlite3_free( errMsg );
111 if ( value.isNull() )
112 return QStringLiteral(
"NULL" );
115 v.replace(
'\'', QLatin1String(
"''" ) );
116 return v.prepend(
'\'' ).append(
'\'' );
122 va_start( ap, format );
123 char *c_str = sqlite3_vmprintf( format, ap );
125 QString res( QString::fromUtf8( c_str ) );
126 sqlite3_free( c_str );
QString columnName(int column) const
Returns the name of column.
void operator()(sqlite3_stmt *statement)
Finalizes an sqlite3 statement.
Unique pointer for sqlite3 prepared statements, which automatically finalizes the statement when the ...
int exec(const QString &sql, QString &errorMessage) const
Executes the sql command in the database.
sqlite3_statement_unique_ptr prepare(const QString &sql, int &resultCode) const
Prepares a sql statement, returning the result.
qlonglong columnAsInt64(int column) const
Gets column value from the current statement row as a long long integer (64 bits).
double columnAsDouble(int column) const
Gets column value from the current statement row as a double.
int step()
Steps to the next record in the statement, returning the sqlite3 result code.
int columnCount() const
Gets the number of columns that this statement returns.
int open(const QString &path)
Opens the database at the specified file path.
int open_v2(const QString &path, int flags, const char *zVfs)
Opens the database at the specified file path.
void operator()(sqlite3 *database)
Closes an sqlite database.
QString QgsSqlite3Mprintf(const char *format,...)
Wraps sqlite3_mprintf() by automatically freeing the memory.
QString columnAsText(int column) const
Returns the column value from the current statement row as a string.
QString errorMessage() const
Returns the most recent error message encountered by the database.
static QString quotedString(const QString &value)
Returns a quoted string value, surround by ' characters and with special characters correctly escaped...