您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ sqlite_exec函数代码示例

51自学网 2021-06-03 08:16:13
  C++
这篇教程C++ sqlite_exec函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中sqlite_exec函数的典型用法代码示例。如果您正苦于以下问题:C++ sqlite_exec函数的具体用法?C++ sqlite_exec怎么用?C++ sqlite_exec使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了sqlite_exec函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: conn_setautocommit

/*** Set "auto commit" property of the connection.** If 'true', then rollback current transaction.** If 'false', then start a new transaction.*/static int conn_setautocommit(lua_State *L){	conn_data *conn = getconnection(L);	if (lua_toboolean(L, 2))    {		conn->auto_commit = 1;        /* undo active transaction - ignore errors */        sqlite_exec(conn->sql_conn, "ROLLBACK", NULL, NULL, NULL);	}	else    {        char *errmsg;        int res;		conn->auto_commit = 0;        res = sqlite_exec(conn->sql_conn, "BEGIN", NULL, NULL, &errmsg);        if (res != SQLITE_OK)        {            lua_pushliteral(L, LUASQL_PREFIX);            lua_pushstring(L, errmsg);            sqlite_freemem(errmsg);            lua_concat(L, 2);            lua_error(L);        }	}	lua_pushboolean(L, 1);	return 1;}
开发者ID:0w,项目名称:moai-dev,代码行数:32,


示例2: sql

void sql(const char *fmt, ...){	char *sql;	va_list ap;	int rc, busyc = 0;	va_start(ap, fmt);	vasprintf(&sql, fmt, ap);	va_end(ap);	while (1) {		rc = sqlite_exec(db, sql, 0, 0, 0);		if ( rc != SQLITE_BUSY ) break;		if (busyc++ > 60) {			fprintf(stderr, "** Database busy for long time [%d secs]: %s/n", busyc, sql);		}		sleep(1);	}	if ( rc != SQLITE_OK ) {		fprintf(stderr, "** Database Error %d in '%s'!/n", rc, sql);		sqlite_exec(db, "COMMIT TRANSACTION", 0, 0, 0);		exit(1);	}	free(sql);}
开发者ID:LINBIT,项目名称:csync2,代码行数:27,


示例3: sqliteInit

/*** Initialize all database files - the main database file, the file** used to store temporary tables, and any additional database files** created using ATTACH statements.  Return a success code.  If an** error occurs, write an error message into *pzErrMsg.**** After the database is initialized, the SQLITE_Initialized** bit is set in the flags field of the sqlite structure.  An** attempt is made to initialize the database as soon as it** is opened.  If that fails (perhaps because another process** has the sqlite_master table locked) than another attempt** is made the first time the database is accessed.*/int sqliteInit(sqlite *db, char **pzErrMsg){  int i, rc;    if( db->init.busy ) return SQLITE_OK;  assert( (db->flags & SQLITE_Initialized)==0 );  rc = SQLITE_OK;  db->init.busy = 1;  for(i=0; rc==SQLITE_OK && i<db->nDb; i++){    if( DbHasProperty(db, i, DB_SchemaLoaded) ) continue;    assert( i!=1 );  /* Should have been initialized together with 0 */    rc = sqliteInitOne(db, i, pzErrMsg);    if( rc ){      sqliteResetInternalSchema(db, i);    }  }  db->init.busy = 0;  if( rc==SQLITE_OK ){    db->flags |= SQLITE_Initialized;    sqliteCommitInternalChanges(db);  }  /* If the database is in formats 1 or 2, then upgrade it to  ** version 3.  This will reconstruct all indices.  If the  ** upgrade fails for any reason (ex: out of disk space, database  ** is read only, interrupt received, etc.) then fail the init.  */  if( rc==SQLITE_OK && db->file_format<3 ){    char *zErr = 0;    InitData initData;    int meta[SQLITE_N_BTREE_META];    db->magic = SQLITE_MAGIC_OPEN;    initData.db = db;    initData.pzErrMsg = &zErr;    db->file_format = 3;    rc = sqlite_exec(db,      "BEGIN; SELECT name FROM sqlite_master WHERE type='table';",      upgrade_3_callback,      &initData,      &zErr);    if( rc==SQLITE_OK ){      sqliteBtreeGetMeta(db->aDb[0].pBt, meta);      meta[2] = 4;      sqliteBtreeUpdateMeta(db->aDb[0].pBt, meta);      sqlite_exec(db, "COMMIT", 0, 0, 0);    }    if( rc!=SQLITE_OK ){      sqliteSetString(pzErrMsg,         "unable to upgrade database to the version 2.6 format",        zErr ? ": " : 0, zErr, (char*)0);    }    sqlite_freemem(zErr);  }  if( rc!=SQLITE_OK ){    db->flags &= ~SQLITE_Initialized;  }  return rc;}
开发者ID:MattDees,项目名称:pear-core,代码行数:72,


示例4: smb_nic_dbcreate

/* * smb_nic_dbcreate * * Creates the host database based on the defined SQL statement. * It also initializes db_info table. */static intsmb_nic_dbcreate(void){	sqlite *db = NULL;	char *errmsg = NULL;	int rc, err = SMB_NIC_SUCCESS;	(void) unlink(SMB_NIC_DB_NAME);	db = sqlite_open(SMB_NIC_DB_NAME, 0600, &errmsg);	if (db == NULL) {		syslog(LOG_ERR, "Failed to create host database (%s).",		    NULL_MSGCHK(errmsg));		sqlite_freemem(errmsg);		return (SMB_NIC_DBOPEN_FAILED);	}	sqlite_busy_timeout(db, SMB_NIC_DB_TIMEOUT);	rc = sqlite_exec(db, "BEGIN TRANSACTION", NULL, NULL, &errmsg);	if (rc != SQLITE_OK) {		syslog(LOG_ERR, "Failed to create host database.  Unable to " /		    "begin database transaction (%s).", NULL_MSGCHK(errmsg));		sqlite_freemem(errmsg);		sqlite_close(db);		return (SMB_NIC_DBEXEC_FAILED);	}	if (sqlite_exec(db, SMB_NIC_DB_SQL, NULL, NULL, &errmsg) == SQLITE_OK) {		rc = sqlite_exec(db, "COMMIT TRANSACTION", NULL, NULL,		    &errmsg);		if (rc == SQLITE_OK)			err = smb_nic_dbsetinfo(db);		if (err != SMB_NIC_SUCCESS)			rc = sqlite_exec(db, "ROLLBACK TRANSACTION", NULL, NULL,			    &errmsg);	} else {		syslog(LOG_ERR, "Failed to create host database.  Unable to " /		    "initialize host database (%s).", NULL_MSGCHK(errmsg));		sqlite_freemem(errmsg);		rc = sqlite_exec(db, "ROLLBACK TRANSACTION", NULL, NULL,		    &errmsg);	}	if (rc != SQLITE_OK) {		/* this is bad - database may be left in a locked state */		syslog(LOG_ERR, "Failed to create host database.  Unable to " /		    "close a transaction (%s).", NULL_MSGCHK(errmsg));		sqlite_freemem(errmsg);		err = SMB_NIC_DBINIT_FAILED;	}	(void) sqlite_close(db);	return (err);}
开发者ID:bahamas10,项目名称:openzfs,代码行数:60,


示例5: _ds_set_spamrecord

int_ds_set_spamrecord (DSPAM_CTX * CTX, unsigned long long token,                    struct _ds_spam_stat *stat){  struct _sqlite_drv_storage *s = (struct _sqlite_drv_storage *) CTX->storage;  char query[1024];  char *err=NULL;  int result = 0;  if (s->dbh == NULL)  {    LOGDEBUG ("_ds_set_spamrecord: invalid database handle (NULL)");    return EINVAL;  }  if (CTX->operating_mode == DSM_CLASSIFY)    return 0;  /* It's either not on disk or the caller isn't using stat.disk */  if (!(stat->status & TST_DISK))  {    snprintf (query, sizeof (query),              "insert into dspam_token_data(token, spam_hits, "              "innocent_hits, last_hit)"              " values('%" LLU_FMT_SPEC "', %ld, %ld, date('now'))",              token,               stat->spam_hits > 0 ? stat->spam_hits : 0,              stat->innocent_hits > 0 ? stat->innocent_hits : 0);    result = sqlite_exec(s->dbh, query, NULL, NULL, &err);  }  if ((stat->status & TST_DISK) || result)  {    /* insert failed; try updating instead */    snprintf (query, sizeof (query), "update dspam_token_data "              "set spam_hits = %ld, "              "innocent_hits = %ld "              "where token = %" LLD_FMT_SPEC,              stat->spam_hits > 0 ? stat->spam_hits : 0,              stat->innocent_hits > 0 ? stat->innocent_hits : 0,              token);    if ((sqlite_exec(s->dbh, query, NULL, NULL, &err))!=SQLITE_OK)    {      _sqlite_drv_query_error (err, query);      return EFAILURE;    }  }  return 0;}
开发者ID:aleksey200505,项目名称:dspam,代码行数:51,


示例6: _ds_del_spamrecord

int_ds_del_spamrecord (DSPAM_CTX * CTX, unsigned long long token){  struct _sqlite_drv_storage *s = (struct _sqlite_drv_storage *) CTX->storage;  char query[128];  char *err=NULL;  if (s->dbh == NULL)  {    LOGDEBUG ("_ds_delete_signature: invalid database handle (NULL)");    return EINVAL;  }                                                                                  snprintf (query, sizeof (query),            "delete from dspam_token_data where token = /"%" LLU_FMT_SPEC "/"",            token);                                                                                  if ((sqlite_exec(s->dbh, query, NULL, NULL, &err))!=SQLITE_OK)  {    _sqlite_drv_query_error (err, query);    return EFAILURE;  }  return 0;}
开发者ID:aleksey200505,项目名称:dspam,代码行数:25,


示例7: sqlite_client_thread

static void sqlite_client_thread(void *arg){    unsigned long i, succeeded, failed;    DBPool *pool = arg;    char *errmsg = 0;    succeeded = failed = 0;    info(0,"Client thread started with %ld queries to perform on pool", queries);    /* perform random queries on the pool */    for (i = 1; i <= queries; i++) {        DBPoolConn *pconn;        int state;        /* provide us with a connection from the pool */        pconn = dbpool_conn_consume(pool);        debug("",0,"Query %ld/%ld: sqlite conn obj at %p",              i, queries, (void*) pconn->conn);        state = sqlite_exec(pconn->conn, octstr_get_cstr(sql), callback, 0, &errmsg);        if (state != SQLITE_OK) {            error(0, "SQLite: %s", errmsg);            failed++;        } else {            succeeded++;        }        /* return the connection to the pool */        dbpool_conn_produce(pconn);    }    info(0, "This thread: %ld succeeded, %ld failed.", succeeded, failed);}
开发者ID:frese,项目名称:mbuni,代码行数:33,


示例8: _ds_delete_signature

int_ds_delete_signature (DSPAM_CTX * CTX, const char *signature){  struct _sqlite_drv_storage *s = (struct _sqlite_drv_storage *) CTX->storage;  char query[128];  char *err=NULL;  if (s->dbh == NULL)  {    LOGDEBUG ("_ds_delete_signature: invalid database handle (NULL)");    return EINVAL;  }  snprintf (query, sizeof (query),            "delete from dspam_signature_data where signature = /"%s/"",             signature);  if ((sqlite_exec(s->dbh, query, NULL, NULL, &err))!=SQLITE_OK)  {    _sqlite_drv_query_error (err, query);    return EFAILURE;  }  return 0;}
开发者ID:aleksey200505,项目名称:dspam,代码行数:25,


示例9: main

int main(int argc, char **argv){  int i;  sqlite *db;  char *zErr;  int status;  int parent = getpid();  unlink("test.db");  unlink("test.db-journal");  db = sqlite_open("test.db", 0, &zErr);  if( db==0 ){    printf("Cannot initialize: %s/n", zErr);    return 1;  }  sqlite_exec(db, "CREATE TABLE t1(a,b)", 0, 0, 0);  sqlite_close(db);  for(i=0; i<10000; i++){    int pid = fork();    if( pid==0 ){      sched_yield();      do_some_sql(parent);      return 0;    }    printf("test %d, pid=%d/n", i, pid);    usleep(rand()%10000 + 1000);    kill(pid, SIGKILL);    waitpid(pid, &status, 0);  }  return 0;}
开发者ID:AlexL871,项目名称:rt-thread-stm32f4discovery,代码行数:30,


示例10: smb_nic_dbaddhost

static intsmb_nic_dbaddhost(const char *host, const char *cmnt, char *if_list){	sqlite *db;	char *sql;	char *errmsg;	int rc, err = SMB_NIC_SUCCESS;	sql = sqlite_mprintf("REPLACE INTO hosts (hostname, comment, ifnames)"	    "VALUES ('%s', '%q', '%s')", host, (cmnt) ? cmnt : "", if_list);	if (sql == NULL)		return (SMB_NIC_NO_MEMORY);	db = smb_nic_dbopen(SMB_NIC_DB_ORW);	if (db == NULL) {		sqlite_freemem(sql);		return (SMB_NIC_DBOPEN_FAILED);	}	rc = sqlite_exec(db, sql, NULL, NULL, &errmsg);	sqlite_freemem(sql);	smb_nic_dbclose(db);	if (rc != SQLITE_OK) {		syslog(LOG_ERR, "Failed to add host %s to host database (%s).",		    host, NULL_MSGCHK(errmsg));		sqlite_freemem(errmsg);		err = SMB_NIC_INSERT_FAILED;	}	return (err);}
开发者ID:bahamas10,项目名称:openzfs,代码行数:32,


示例11: make_query

void SqliteDataset::make_query(StringList &_sql) {  string query;  if (autocommit) db->start_transaction();  if (db == NULL) {      if (db->in_transaction()) db->rollback_transaction();      return;  }  for (list<string>::iterator i =_sql.begin(); i!=_sql.end(); i++) {	query = *i;	char* err=NULL; 	Dataset::parse_sql(query);	if (db->setErr(sqlite_exec(this->handle(),query.c_str(),NULL,NULL,&err),query.c_str())!=SQLITE_OK) {	  if (db->in_transaction()) db->rollback_transaction();	  return;    }  } // end of for  if (db->in_transaction() && autocommit) db->commit_transaction();  active = true;  ds_state = dsSelect;		  if (autorefresh)    refresh();}
开发者ID:AliYousuf,项目名称:abanq-port,代码行数:30,


示例12: smb_nic_dbdelhost

static intsmb_nic_dbdelhost(const char *host){	sqlite *db;	char *sql;	char *errmsg;	int rc, err = SMB_NIC_SUCCESS;	sql = sqlite_mprintf("DELETE FROM hosts WHERE hostname = '%s'", host);	if (sql == NULL)		return (SMB_NIC_NO_MEMORY);	db = smb_nic_dbopen(SMB_NIC_DB_ORW);	if (db == NULL) {		sqlite_freemem(sql);		return (SMB_NIC_DBOPEN_FAILED);	}	rc = sqlite_exec(db, sql, NULL, NULL, &errmsg);	sqlite_freemem(sql);	smb_nic_dbclose(db);	if (rc != SQLITE_OK) {		syslog(LOG_ERR, "Failed to delete host %s from host " /		    "database (%s).", host, NULL_MSGCHK(errmsg));		sqlite_freemem(errmsg);		err = SMB_NIC_DELETE_FAILED;	}	return (err);}
开发者ID:bahamas10,项目名称:openzfs,代码行数:31,


示例13: smb_nic_dbsetinfo

/* * smb_nic_dbsetinfo * * Initializes the db_info table upon database creation. */static intsmb_nic_dbsetinfo(sqlite *db){	char *errmsg = NULL;	char *sql;	int rc, err = SMB_NIC_SUCCESS;	sql = sqlite_mprintf("INSERT INTO db_info (ver_major, ver_minor,"	    " magic) VALUES (%d, %d, %d)", SMB_NIC_DB_VERMAJOR,	    SMB_NIC_DB_VERMINOR, SMB_NIC_DB_MAGIC);	if (sql == NULL)		return (SMB_NIC_NO_MEMORY);	rc = sqlite_exec(db, sql, NULL, NULL, &errmsg);	sqlite_freemem(sql);	if (rc != SQLITE_OK) {		syslog(LOG_ERR, "Failed to add database information to " /		    "host database (%s).", NULL_MSGCHK(errmsg));		sqlite_freemem(errmsg);		err = SMB_NIC_DBINIT_ERROR;	}	return (err);}
开发者ID:bahamas10,项目名称:openzfs,代码行数:30,


示例14: _ds_set_signature

int_ds_set_signature (DSPAM_CTX * CTX, struct _ds_spam_signature *SIG,                   const char *signature){  struct _sqlite_drv_storage *s = (struct _sqlite_drv_storage *) CTX->storage;  unsigned long length;  char *mem;  char scratch[1024];  buffer *query;  char *err=NULL;  if (s->dbh == NULL)  {    LOGDEBUG ("_ds_set_signature; invalid database handle (NULL)");    return EINVAL;  }  query = buffer_create (NULL);  if (query == NULL)  {    LOG (LOG_CRIT, ERR_MEM_ALLOC);    return EUNKNOWN;  }  mem = calloc (1, 2 + (257*SIG->length)/254);  if (mem == NULL)  {    LOG (LOG_CRIT, ERR_MEM_ALLOC);    buffer_destroy(query);    return EUNKNOWN;  }  length = sqlite_encode_binary(SIG->data, SIG->length, (unsigned char *) mem);  if (length<0) {   LOG(LOG_ERR, "sqlite_encode_binary() failed on error %d", length);   buffer_destroy(query);   return EFAILURE;  }  snprintf (scratch, sizeof (scratch),            "insert into dspam_signature_data(signature, created_on, data) "            "values(/"%s/", date('now'), '",            signature);  buffer_cat (query, scratch);  buffer_cat (query, mem);  buffer_cat (query, "')");  if ((sqlite_exec(s->dbh, query->data, NULL, NULL, &err))!=SQLITE_OK)  {    _sqlite_drv_query_error (err, query->data);    buffer_destroy(query);    free(mem);    return EFAILURE;  }  free (mem);  buffer_destroy(query);  return 0;}
开发者ID:aleksey200505,项目名称:dspam,代码行数:59,


示例15: load_module

static int load_module(void){	char *zErr;	char fn[PATH_MAX];	int res;	/* is the database there? */	snprintf(fn, sizeof(fn), "%s/cdr.db", ast_config_AST_LOG_DIR);	db = sqlite_open(fn, 0660, &zErr);	if (!db) {		ast_log(LOG_ERROR, "cdr_sqlite: %s/n", zErr);		free(zErr);		return -1;	}	/* is the table there? */	res = sqlite_exec(db, "SELECT COUNT(id) FROM cdr;", NULL, NULL, NULL);	if (res) {		res = sqlite_exec(db, sql_create_table, NULL, NULL, &zErr);		if (res) {			ast_log(LOG_ERROR, "cdr_sqlite: Unable to create table 'cdr': %s/n", zErr);			free(zErr);			goto err;		}		/*res = sqlite_exec(db, sql_create_trigger, NULL, NULL, &zErr);		if (res) {			ast_log(LOG_ERROR, "cdr_sqlite: Unable to create maxentries trigger: %s/n", zErr);			free(zErr);			goto err;		}*/		/* TODO: here we should probably create an index */	}		res = ast_cdr_register(name, ast_module_info->description, sqlite_log);	if (res) {		ast_log(LOG_ERROR, "Unable to register SQLite CDR handling/n");		return -1;	}	return 0;err:	if (db)		sqlite_close(db);	return -1;}
开发者ID:iedemam,项目名称:AskoziaPBX,代码行数:46,


示例16: sqlite_load_module

static int sqlite_load_module(void){	char *zErr;	char fn[PATH_MAX];	int res;	/* is the database there? */	snprintf(fn, sizeof(fn), "%s/astdb.db", ast_config_AST_LOG_DIR);	db = sqlite_open(fn, 0660, &zErr);	if (!db) {		ast_log(LOG_ERROR, "app_dbsqlite: %s/n", zErr);		free(zErr);		return -1;	}	/* is the table there? */	res = sqlite_exec(db, "SELECT COUNT(Id) FROM astdb;", NULL, NULL, &zErr);	if (res) {		res = sqlite_exec(db, sql_create_table, NULL, NULL, &zErr);		if (res) {			ast_log(LOG_ERROR, "app_dbsqlite: Unable to create table 'astdb': %s/n", zErr);			free(zErr);			goto err;		}		/* TODO: here we should probably create an index */	}	res = ast_register_application (g_app, sqliteget_exec, g_synopsis, g_descrip);	if (!res)		res = ast_register_application (p_app, sqliteput_exec, p_synopsis, p_descrip);	if (!res)		res = ast_register_application (d_app, sqlitedel_exec, d_synopsis, d_descrip);	if (!res)		res = ast_register_application (dt_app, sqlitedeltree_exec, dt_synopsis, dt_descrip);	if (res) {		ast_log(LOG_ERROR, "Unable to register app_dbsqlite/n");		return -1;	}	return 0;err:	if (db)		sqlite_close(db);	return -1;}
开发者ID:BackupTheBerlios,项目名称:destar-svn,代码行数:46,


示例17: sqliteExecFunc

/*** Implementation of the x_sqlite_exec() function.  This function takes** a single argument and attempts to execute that argument as SQL code.** This is illegal and should set the SQLITE_MISUSE flag on the database.**** 2004-Jan-07:  We have changed this to make it legal to call sqlite_exec()** from within a function call.  ** ** This routine simulates the effect of having two threads attempt to** use the same database at the same time.*/static void sqliteExecFunc(sqlite_func *context, int argc, const char **argv){  struct dstr x;  memset(&x, 0, sizeof(x));  sqlite_exec((sqlite*)sqlite_user_data(context), argv[0],       execFuncCallback, &x, 0);  sqlite_set_result_string(context, x.z, x.nUsed);  sqliteFree(x.z);}
开发者ID:ErikGartner,项目名称:ardb,代码行数:19,


示例18: exec

int SqliteDataset::exec(const string &sql) {  if (!handle()) return DB_ERROR;  int res;  exec_res.record_header.clear();  exec_res.records.clear();  if(res = db->setErr(sqlite_exec(handle(),sql.c_str(),&callback,&exec_res,&errmsg),sql.c_str()) == SQLITE_OK)    return res;  else    return DB_ERROR;}
开发者ID:AliYousuf,项目名称:abanq-port,代码行数:10,


示例19: load_module

static int load_module(void){	char *zErr;	char fn[PATH_MAX];	int res;	ast_log(LOG_NOTICE, "This module has been marked deprecated in favor of "		"using cdr_sqlite3_custom./n");	/* is the database there? */	snprintf(fn, sizeof(fn), "%s/cdr.db", ast_config_AST_LOG_DIR);	db = sqlite_open(fn, AST_FILE_MODE, &zErr);	if (!db) {		ast_log(LOG_ERROR, "cdr_sqlite: %s/n", zErr);		ast_free(zErr);		return AST_MODULE_LOAD_DECLINE;	}	/* is the table there? */	res = sqlite_exec(db, "SELECT COUNT(AcctId) FROM cdr;", NULL, NULL, NULL);	if (res) {		res = sqlite_exec(db, sql_create_table, NULL, NULL, &zErr);		if (res) {			ast_log(LOG_ERROR, "cdr_sqlite: Unable to create table 'cdr': %s/n", zErr);			ast_free(zErr);			goto err;		}		/* TODO: here we should probably create an index */	}	res = ast_cdr_register(name, ast_module_info->description, sqlite_log);	if (res) {		ast_log(LOG_ERROR, "Unable to register SQLite CDR handling/n");		return AST_MODULE_LOAD_DECLINE;	}	return AST_MODULE_LOAD_SUCCESS;err:	if (db)		sqlite_close(db);	return AST_MODULE_LOAD_DECLINE;}
开发者ID:KaloNK,项目名称:asterisk,代码行数:43,


示例20: Execute

bool DatabaseSqlite::Execute(const char *sql){    char *errmsg;    if (!mSqlite)        return false;    if(sqlite_exec(mSqlite, sql, NULL, NULL, &errmsg) != SQLITE_OK)        return false;    return true;}
开发者ID:Aion,项目名称:caldari,代码行数:12,


示例21: disconnect

int SqliteDatabase::connect() {  disconnect();  if (conn = sqlite_open(db.c_str(),0,NULL)) {    //cout << "Connected!/n";    char* err=NULL;    if (setErr(sqlite_exec(getHandle(),"PRAGMA empty_result_callbacks=ON",NULL,NULL,&err),"PRAGMA empty_result_callbacks=ON") != SQLITE_OK) {      return DB_CONNECTION_NONE;    }    active = true;    return DB_CONNECTION_OK;  }  return DB_CONNECTION_NONE;};
开发者ID:AliYousuf,项目名称:abanq-port,代码行数:13,


示例22: db_execute

/*** Execute an SQL statement.*/void db_execute(sqlite *db, const char *zFile, const char *zFormat, ...){  char *zSql;  int rc;  char *zErrMsg = 0;  va_list ap;  va_start(ap, zFormat);  zSql = sqlite_vmprintf(zFormat, ap);  va_end(ap);  if( verbose ) printf("EXEC %s: %s/n", zFile, zSql);  rc = sqlite_exec(db, zSql, 0, 0, &zErrMsg);  while( rc==SQLITE_SCHEMA ){    if( zErrMsg ) free(zErrMsg);    rc = sqlite_exec(db, zSql, 0, 0, &zErrMsg);  }  if( verbose ) printf("DONE %s: %s/n", zFile, zSql);  if( zErrMsg ){    fprintf(stdout,"%s: command failed: %s - %s/n", zFile, zSql, zErrMsg);    free(zErrMsg);    sqlite_freemem(zSql);    Exit(1);  }  sqlite_freemem(zSql);}
开发者ID:apprisi,项目名称:illumos-gate,代码行数:26,


示例23: sprintf

long SqliteDatabase::nextid(const char* sname) {  if (!active) return DB_UNEXPECTED_RESULT;  int id,nrow,ncol;  result_set res;  char sqlcmd[512];  sprintf(sqlcmd,"select nextid from %s where seq_name = '%s'",sequence_table.c_str(), sname);  if (last_err = sqlite_exec(getHandle(),sqlcmd,&callback,&res,NULL) != SQLITE_OK) {    return DB_UNEXPECTED_RESULT;    }  if (res.records.size() == 0) {    id = 1;    sprintf(sqlcmd,"insert into %s (nextid,seq_name) values (%d,'%s')",sequence_table.c_str(),id,sname);    if (last_err = sqlite_exec(conn,sqlcmd,NULL,NULL,NULL) != SQLITE_OK) return DB_UNEXPECTED_RESULT;    return id;  }  else {    id = res.records[0][0].get_asInteger()+1;    sprintf(sqlcmd,"update %s set nextid=%d where seq_name = '%s'",sequence_table.c_str(),id,sname);    if (last_err = sqlite_exec(conn,sqlcmd,NULL,NULL,NULL) != SQLITE_OK) return DB_UNEXPECTED_RESULT;    return id;      }  return DB_UNEXPECTED_RESULT;}
开发者ID:AliYousuf,项目名称:abanq-port,代码行数:23,


示例24: sqlite_exec

bool QSQLiteDriver::rollbackTransaction(){    if (!isOpen() || isOpenError())        return FALSE;    char* err;    int res = sqlite_exec(d->access, "ROLLBACK", 0, this, &err);    if (res == SQLITE_OK)        return TRUE;    setLastError(QSqlError("Unable to rollback Transaction", err, QSqlError::Transaction, res));    sqlite_freemem(err);    return FALSE;}
开发者ID:aroraujjwal,项目名称:qt3,代码行数:15,


示例25: sqlite_exec

bool QSQLite2Driver::rollbackTransaction(){    if (!isOpen() || isOpenError())        return false;    char* err;    int res = sqlite_exec(d->access, "ROLLBACK", 0, this, &err);    if (res == SQLITE_OK)        return true;    setLastError(QSqlError(tr("Unable to rollback transaction"),                           QString::fromAscii(err), QSqlError::TransactionError, res));    sqlite_freemem(err);    return false;}
开发者ID:RS102839,项目名称:qt,代码行数:16,


示例26: _sqlite2_query

/* _sqlite2_query */static int _sqlite2_query(SQLite2 * sqlite, char const * query,                          DatabaseCallback callback, void * data){    int ret;    char * error = NULL;#ifdef DEBUG    fprintf(stderr, "DEBUG: %s(/"%s/")/n", __func__, query);#endif    ret = (sqlite_exec(sqlite->handle, query, callback, data, &error)           == SQLITE_OK) ? 0 : -error_set_code(1, "%s",                   (error != NULL) ? error : "Unknown error");    if(error != NULL)        free(error);    return ret;}
开发者ID:DeforaOS,项目名称:libDatabase,代码行数:17,


示例27: Q_D

bool QSQLite2Driver::commitTransaction(){    Q_D(QSQLite2Driver);    if (!isOpen() || isOpenError())        return false;    char* err;    int res = sqlite_exec(d->access, "COMMIT", 0, this, &err);    if (res == SQLITE_OK)        return true;    setLastError(QSqlError(tr("Unable to commit transaction"),                QString::fromLatin1(err), QSqlError::TransactionError, res));    sqlite_freemem(err);    return false;}
开发者ID:Drakey83,项目名称:steamlink-sdk,代码行数:17,


示例28: IoSQLite_open

IoObject *IoSQLite_execWithCallback(IoSQLite *self,									IoObject *locals,									IoMessage *m,									IoSymbol *s,									ResultRowCallback *callback){	IoList *results;	if (!DATA(self)->db)	{		IoSQLite_open(self, locals, m);		if (!DATA(self)->db)		{			return IONIL(self);		}	}	DATA(self)->results = IOREF(IoList_new(IOSTATE));	if (DATA(self)->debugOn)	{		IoState_print_(IOSTATE, "*** %s ***/n", CSTRING(s));	}	{		char *zErrMsg;		int rc = sqlite_exec(DATA(self)->db, CSTRING(s), callback, self, &zErrMsg);		if (rc != SQLITE_OK)		{			IoSQLite_error_(self, zErrMsg);			IoState_error_(IOSTATE, m, zErrMsg);		}		else		{			IoSQLite_error_(self, "");		}	}	results = DATA(self)->results;	DATA(self)->results = NULL;	return results;}
开发者ID:Akiyah,项目名称:io,代码行数:44,


示例29: exec

bool cSQLiteDriver::exec( const QString& query ){	char* error;	if ( sqlite_exec( ( sqlite * ) connection, query.local8Bit(), NULL, NULL, &error ) != SQLITE_OK )	{		if ( error )		{			QString err( QString( error ) + " (" + query + ")" );			sqlite_freemem( error );			throw err;		}		else		{			throw QString( "Unknown SQLite error while executing: %1" ).arg( query );		}	}	return true;}
开发者ID:BackupTheBerlios,项目名称:wolfpack-svn,代码行数:20,


示例30: close

bool SqliteDataset::query(const char *query) {    if (db == NULL)        return false;    if(((SqliteDatabase*)db)->getHandle() == NULL)        return false;    std::string qry = query;    int fs = qry.find("select");    int fS = qry.find("SELECT");    if (!( fs >= 0 || fS >=0))                                          return false;  close();  if (  db->setErr(sqlite_exec(handle(),query,&callback,&result,&errmsg),query) == SQLITE_OK) {        active = true;	ds_state = dsSelect;	this->first();	return true;   }   return false;}
开发者ID:AliYousuf,项目名称:abanq-port,代码行数:21,



注:本文中的sqlite_exec函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ sqlite_freemem函数代码示例
C++ sqliteMalloc函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。