Инициализация предкомпилированного запроса к базе данных
#include <qdb/qdb.h>int qdb_stmt_init( qdb_hdl_t *hdl,const char *sql,uint32_t len );
?n
, где n есть число от 1
до 999
. Эти параметры заполняются при исполнении qdb_stmt_exec(). Незаполненные параметры интерпретируются как NULL
. Подробнее см. раздел Параметры.qdb
Функция инициализирует предкомпилированный SQL запрос к базе данных. Запрос компилируется один раз и может выполняться многократно с разными фактическими параметрами (см. qdb_stmt_exec()).
Освобождение предкомпилированных запросов выполняется с помощью qdb_stmt_free() или qdb_disconnect().
int stmtid;qdb_binding_t qbind[2];uint64_t msid,limit;const char *sql = "SELECT fid FROM library WHERE msid=?1 LIMIT ?2;";stmtid = qdb_stmt_init( db, sql, strlen( sql ) + 1 );if ( stmtid == -1 ){/* Could not compile */return (-1);}msid = 1;limit = 10;QDB_SETBIND_INT( &qbind[0], 1, msid );QDB_SETBIND_INT( &qbind[1], 2, limit );if ( qdb_stmt_exec( db, stmtid, qbind, 2 ) == -1 ){/* Could not execute */return (-1);}qdb_stmt_free( db, stmtid );
ЗОСРВ «Нейтрино»
qdb_stmt_exec(), qdb_stmt_free(), qdb_binding_t
Предыдущий раздел: перейти