|
template<typename T > |
UInt64 | clearSignBit (T) |
|
template<> |
UInt64 | clearSignBit (UInt64 value) |
| only allow UInt64 specialization More...
|
|
SqlState | nextRow (sqlite3_stmt *stmt, SqlState current=SqlState::SQL_ROW) |
| retrieves the next row from a prepared statement More...
|
|
template<typename ValueType > |
bool | extractValue (ValueType *, sqlite3_stmt *, int) |
| Extracts a specific value from an SQL column. More...
|
|
template<> |
bool | extractValue< double > (double *dst, sqlite3_stmt *stmt, int pos) |
|
template<> |
bool | extractValue< int > (int *dst, sqlite3_stmt *stmt, int pos) |
|
template<> |
bool | extractValue< Int64 > (Int64 *dst, sqlite3_stmt *stmt, int pos) |
|
template<> |
bool | extractValue< String > (String *dst, sqlite3_stmt *stmt, int pos) |
|
template<> |
bool | extractValue< std::string > (std::string *dst, sqlite3_stmt *stmt, int pos) |
|
bool | extractValueIntStr (String *dst, sqlite3_stmt *stmt, int pos) |
| Special case where an integer should be stored in a String field. More...
|
|
double | extractDouble (sqlite3_stmt *stmt, int pos) |
|
float | extractFloat (sqlite3_stmt *stmt, int pos) |
| convenience function; note: in SQL there is no float, just double. So this might be narrowing. More...
|
|
int | extractInt (sqlite3_stmt *stmt, int pos) |
|
Int64 | extractInt64 (sqlite3_stmt *stmt, int pos) |
|
String | extractString (sqlite3_stmt *stmt, int pos) |
|
char | extractChar (sqlite3_stmt *stmt, int pos) |
|
bool | extractBool (sqlite3_stmt *stmt, int pos) |
|
bool OpenMS::Internal::SqliteHelper::extractValue |
( |
ValueType * |
, |
|
|
sqlite3_stmt * |
, |
|
|
int |
|
|
) |
| |
Extracts a specific value from an SQL column.
dst
Destination (where to store the value) stmt
Sqlite statement object pos
Column position
For example, to extract a specific integer from column 5 of an SQL statement, one can use:
sqlite3_stmt* stmt; sqlite3* db; SqliteConnector::prepareStatement(db, &stmt, select_sql); sqlite3_step(stmt);
double target; while (sqlite3_column_type(stmt, 0) != SQLITE_NULL) { extractValue<double>(&target, stmt, 5); sqlite3_step( stmt ); } sqlite3_finalize(stmt);