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

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

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

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

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

示例1: create_table

//.........这里部分代码省略.........		break;	    };	  if (*sql2 != '/0')	    {		strcat (sql, sql2);	    }	  col = col->next;      }    strcat (sql, "/n)");    ret = sqlite3_exec (params->db_handle, sql, NULL, NULL, &err_msg);    if (ret != SQLITE_OK)      {	  fprintf (stderr, "CREATE TABLE '%s' error: %s/n", table, err_msg);	  sqlite3_free (err_msg);	  return 0;      }    sprintf (sql, "SELECT AddGeometryColumn('%s', 'geometry', %d", table,	     params->srid);    switch (params->geometry_type)      {      case GEOM_POINT:	  strcat (sql, ", 'POINT'");	  params->declared_type = GAIA_POINT;	  break;      case GEOM_MULTIPOINT:	  strcat (sql, ", 'MULTIPOINT'");	  params->declared_type = GAIA_MULTIPOINT;	  break;      case GEOM_LINESTRING:	  strcat (sql, ", 'LINESTRING'");	  params->declared_type = GAIA_LINESTRING;	  break;      case GEOM_MULTILINESTRING:	  strcat (sql, ", 'MULTILINESTRING'");	  params->declared_type = GAIA_MULTILINESTRING;	  break;      case GEOM_POLYGON:	  strcat (sql, ", 'POLYGON'");	  params->declared_type = GAIA_POLYGON;	  break;      case GEOM_MULTIPOLYGON:	  strcat (sql, ", 'MULTIPOLYGON'");	  params->declared_type = GAIA_MULTIPOLYGON;	  break;      default:	  strcat (sql, ", 'GEOMETRYCOLLECTION'");	  params->declared_type = GAIA_GEOMETRYCOLLECTION;	  break;      }    strcat (sql, ", 'XY')");    ret = sqlite3_exec (params->db_handle, sql, NULL, NULL, &err_msg);    if (ret != SQLITE_OK)      {	  fprintf (stderr, "ADD GEOMETRY COLUMN '%s' error: %s/n", table,		   err_msg);	  sqlite3_free (err_msg);	  return 0;      }/* creating a prepared statemet for INSERST INTO */    sprintf (sql, "INSERT INTO %s (", table);    strcat (sql, "PkUID");    col = params->first;    while (col)      {	  sprintf (sql2, ", %s", col->name);	  strcat (sql, sql2);	  col = col->next;      }    strcat (sql, ", geometry) VALUES (NULL");    col = params->first;    while (col)      {	  strcat (sql, ", ?");	  col = col->next;      }    strcat (sql, ", ?)");    ret =	sqlite3_prepare_v2 (params->db_handle, sql, strlen (sql), &stmt, NULL);    if (ret != SQLITE_OK)      {	  fprintf (stderr, "SQL error: %s/n%s/n", sql,		   sqlite3_errmsg (params->db_handle));	  return 0;      }    params->stmt = stmt;/* the complete data load is handled as an unique SQL Transaction */    ret = sqlite3_exec (params->db_handle, "BEGIN", NULL, NULL, &err_msg);    if (ret != SQLITE_OK)      {	  fprintf (stderr, "BEGIN TRANSACTION error: %s/n", err_msg);	  sqlite3_free (err_msg);	  return 0;      }    return 1;}
开发者ID:imincik,项目名称:pkg-spatialite-tools,代码行数:101,


示例2: Q_UNUSED

void QgsOSMDatabase::exportSpatiaLiteWays( bool closed, const QString& tableName, const QStringList& tagKeys ){  Q_UNUSED( tagKeys );  QString sqlInsertLine = QString( "INSERT INTO %1 VALUES (?" ).arg( quotedIdentifier( tableName ) );  for ( int i = 0; i < tagKeys.count(); ++i )    sqlInsertLine += QString( ",?" );  sqlInsertLine += ", GeomFromWKB(?, 4326))";  sqlite3_stmt* stmtInsert;  if ( sqlite3_prepare_v2( mDatabase, sqlInsertLine.toUtf8().constData(), -1, &stmtInsert, 0 ) != SQLITE_OK )  {    mError = "Prepare SELECT FROM ways failed.";    return;  }  QgsOSMWayIterator ways = listWays();  QgsOSMWay w;  while (( w = ways.next() ).isValid() )  {    QgsOSMTags t = tags( true, w.id() );    QgsPolyline polyline = wayPoints( w.id() );    if ( polyline.count() < 2 )      continue; // invalid way    bool isArea = ( polyline.first() == polyline.last() ); // closed way?    // some closed ways are not really areas    if ( isArea && ( t.contains( "highway" ) || t.contains( "barrier" ) ) )    {      if ( t.value( "area" ) != "yes" ) // even though "highway" is line by default, "area"="yes" may override that        isArea = false;    }    if ( closed != isArea )      continue; // skip if it's not what we're looking for    QgsGeometry* geom = closed ? QgsGeometry::fromPolygon( QgsPolygon() << polyline ) : QgsGeometry::fromPolyline( polyline );    int col = 0;    sqlite3_bind_int64( stmtInsert, ++col, w.id() );    // tags    for ( int i = 0; i < tagKeys.count(); ++i )    {      if ( t.contains( tagKeys[i] ) )        sqlite3_bind_text( stmtInsert, ++col, t.value( tagKeys[i] ).toUtf8().constData(), -1, SQLITE_TRANSIENT );      else        sqlite3_bind_null( stmtInsert, ++col );    }    sqlite3_bind_blob( stmtInsert, ++col, geom->asWkb(), geom->wkbSize(), SQLITE_STATIC );    int insertRes = sqlite3_step( stmtInsert );    if ( insertRes != SQLITE_DONE )    {      mError = QString( "Error inserting way %1 [%2]" ).arg( w.id() ).arg( insertRes );      break;    }    sqlite3_reset( stmtInsert );    sqlite3_clear_bindings( stmtInsert );    delete geom;  }  sqlite3_finalize( stmtInsert );}
开发者ID:Adam-Brown,项目名称:Quantum-GIS,代码行数:66,


示例3: main

int main(void){    int r;    char* errmsg;    sqlite3* conW;    sqlite3* conR;    r = sqlite3_open("/scratch/sinclair/tmp/write_database.sql", &conW);    if(r) {printf("Can't open db: %s/n", sqlite3_errmsg(conW)); exit(1);}    r = sqlite3_open("/scratch/sinclair/tmp/read_database.sql", &conR);    if(r) {printf("Can't open db: %s/n", sqlite3_errmsg(conR)); exit(1);}    r = sqlite3_exec(conW, "BEGIN", 0, 0, &errmsg);    if(r!=SQLITE_OK) {printf("Can't start transaction: %s/n", errmsg); exit(1);}    char *tables[]={ "table0",                     "table1",                     "table2",                     "table3",                     "table4",                     "table5",                     "table6",                     "table7",                     "table8",                     "table9"};    int n = 10;    int j = 0;    int i;    char queryR[1024];    char queryW[1024];    sqlite3_stmt* stmR;    sqlite3_stmt* stmW;    for(i=0; i<n; i++){        snprintf(queryW, sizeof(queryW), "%s%s%s", "CREATE table '", tables[i], "' (one text, two text, three integer)");        r = sqlite3_exec(conW, queryW, 0, 0, &errmsg);        if(r!=SQLITE_OK) {printf("Can't execute: %s/n", errmsg); exit(1);}        snprintf(queryR, sizeof(queryR), "%s%s%s", "SELECT * from '", tables[i], "'");        r = sqlite3_prepare_v2(conR, queryR, -1, &stmR, 0);        if(r!=SQLITE_OK) {printf("Can't prepare read: %s/n", sqlite3_errmsg(conR)); exit(1);}        snprintf(queryW, sizeof(queryW), "%s%s%s", "INSERT into '", tables[i], "' values (?,?,?)");        r = sqlite3_prepare_v2(conW, queryW, -1, &stmW, 0);        if(r!=SQLITE_OK) {printf("Can't prepare write: %s/n", sqlite3_errmsg(conW)); exit(1);}        while (1){            j++;            r = sqlite3_step(stmR);            if (r == SQLITE_DONE) {break;}            if (r != SQLITE_ROW) {printf("Can't step read statement (%d): %s/n", r, sqlite3_errmsg(conR)); exit(1);}            r = sqlite3_bind_text(stmW, 1, sqlite3_column_text(stmR, 0), 6, 0);            if(r!=SQLITE_OK) {printf("Row %d, can't bind first var of write statement (%d): %s/n",  j, r, sqlite3_errmsg(conW)); exit(1);}            r = sqlite3_bind_text(stmW, 2, sqlite3_column_text(stmR, 1), 6, 0);            if(r!=SQLITE_OK) {printf("Row %d, can't bind second var of write statement (%d): %s/n", j, r, sqlite3_errmsg(conW)); exit(1);}            r = sqlite3_bind_int( stmW, 3, sqlite3_column_int( stmR, 2) +1);            if(r!=SQLITE_OK) {printf("Row %d, can't bind third var of write statement (%d): %s/n",  j, r, sqlite3_errmsg(conW)); exit(1);}            r = sqlite3_step(stmW);            if(r!=SQLITE_DONE) {printf("Can't step on write statement (%d): %s/n", r, sqlite3_errmsg(conW)); exit(1);}            r = sqlite3_reset(stmW);            if(r!=SQLITE_OK) {printf("Can't reset the write statement (%d): %s/n", r, sqlite3_errmsg(conW)); exit(1);}}}     sqlite3_close(conR);     r = sqlite3_exec(conW, "COMMIT", 0, 0, &errmsg);     if(r!=SQLITE_OK) {printf("Can't commit transaction: %s/n", errmsg); exit(1);}     sqlite3_close(conW);     return 0;}
开发者ID:bow,项目名称:track,代码行数:62,


示例4: search_movies

int search_movies(movie_t* items, uint32_t* num_results, const char* terms) {  char buffer[1024];  sqlite3_stmt* query;  int retval;  uint32_t count;  if (terms == NULL) {    strcpy(buffer, "SELECT COUNT(*) FROM movies");  }  else {    if ((sizeof(buffer)-50) < sizeof(terms)) {      log_debug(ERROR,"search_movies(): terms exceeds buffer");      return MI_EXIT_ERROR;    }    strcpy(buffer, "SELECT COUNT(*) FROM movies WHERE ");    strcat(buffer, terms);  }  log_debug(INFO,"search_movies(): starting query");  log_debug(INFO,buffer);  if (sqlite3_prepare_v2(db_handle,buffer,-1,&query,NULL) != SQLITE_OK) {    log_debug(ERROR,"search_movies(): error executing query");    log_debug(ERROR,sqlite3_errmsg(db_handle));    return MI_EXIT_ERROR;  }  retval = sqlite3_step(query);  if (retval == SQLITE_ROW)    *num_results = (uint32_t)sqlite3_column_int(query,0);  else if (retval == SQLITE_DONE) {    log_debug(INFO,"search_movies(): no results for query");    sqlite3_finalize(query);    return MI_NO_RESULTS;  }  else {    log_debug(ERROR,"search_movies(): unknown error");    log_debug(ERROR,sqlite3_errmsg(db_handle));    sqlite3_finalize(query);    return MI_EXIT_ERROR;  }  if (*num_results == 0) {    log_debug(INFO,"search_movies(): no results for query");    sqlite3_finalize(query);    return MI_NO_RESULTS;  }  if (terms == NULL) {    strpcy(buffer, "SELECT * FROM movies");  }  else {    strcpy(buffer, "SELECT * FROM movies WHERE ");    strcat(buffer, terms);  }  log_debug(INFO,"search_movies(): starting query");  log_debug(INFO,buffer);  if (sqlite3_prepare_v2(db_handle,buffer,-1,&query,NULL) != SQLITE_OK) {    log_debug(ERROR,"search_movies(): error executing query");    log_debug(ERROR,sqlite3_errmsg(db_handle));    return MI_EXIT_ERROR;  }  items = malloc(sizeof(movie_t)*(*num_results));  count = 0;  log_debug(INFO,"search_movies(): staring row processing");  while (1) {    retval = sqlite3_step(query);    if (retval == SQLITE_ROW) {      items[count].code =         (uint32_t)sqlite3_column_int(query,0);      items[count].type =         (medium_t)sqlite3_column_int(query,1);      items[count].genre =       (genre_t)sqlite3_column_int(query,2);      strcpy(items[count].title,   (char *)sqlite3_column_text(query,3));      strcpy(items[count].director,(char *)sqlite3_column_text(query,4));      strcpy(items[count].studio,  (char *)sqlite3_column_text(query,5));      items[count].rating =         (short)sqlite3_column_int(query,6);      count++;      sprintf(buffer,"search_movies(): loaded row %u", count);      log_debug(INFO,buffer);    }    else if (retval == SQLITE_DONE) {      /* all done */      log_debug(INFO,"search_movies(): row processing done");      sprintf(buffer,"%u rows processed out of %u rows actual",count,*num_results);      log_debug(INFO,buffer);      break;    }    else {      /* error of some sort */      log_debug(ERROR,"search_movies: error during row processing");      log_debug(ERROR,sqlite3_errmsg(db_handle));      sprintf(buffer,"%u rows processed out of %u rows actual",count,*num_results);      log_debug(INFO,buffer);      *num_results = 0;      free(items);//.........这里部分代码省略.........
开发者ID:fjgreer,项目名称:mindex,代码行数:101,


示例5: daemon_data_sqlite_data_real_GetLog

static GList* daemon_data_sqlite_data_real_GetLog (DaemonDataIDataAccess* base, const gchar* channel, const gchar* server, GError** error) {	DaemonDataSqliteData * self;	GList* result = NULL;	gchar* _tmp0_;	gchar* commandText;	sqlite3_stmt* statement = NULL;	sqlite3_stmt* _tmp1_ = NULL;	gchar* _tmp2_;	gchar* _tmp3_;	gint _result_;	GList* results;	GError * _inner_error_ = NULL;	self = (DaemonDataSqliteData*) base;	g_return_val_if_fail (channel != NULL, NULL);	g_return_val_if_fail (server != NULL, NULL);	_tmp0_ = g_strdup ("SELECT * FROM Log WHERE Channel = @1 AND Server = @2 ORDER BY Timestam" /"p DESC LIMIT 50");	commandText = _tmp0_;	sqlite3_prepare_v2 (self->priv->_database, commandText, -1, &_tmp1_, NULL);	_sqlite3_finalize0 (statement);	statement = _tmp1_;	_tmp2_ = g_strdup (channel);	sqlite3_bind_text (statement, 1, _tmp2_, -1, g_free);	_tmp3_ = g_strdup (server);	sqlite3_bind_text (statement, 2, _tmp3_, -1, g_free);	_result_ = 0;	results = NULL;	{		gboolean _tmp4_;		_tmp4_ = TRUE;		while (TRUE) {			gint _tmp5_;			if (!_tmp4_) {				if (!(_result_ == SQLITE_ROW)) {					break;				}			}			_tmp4_ = FALSE;			_tmp5_ = sqlite3_step (statement);			_result_ = _tmp5_;			switch (_result_) {				case SQLITE_DONE:				{					{						break;					}				}				case SQLITE_ROW:				{					{						const gchar* _tmp6_ = NULL;						gchar* _tmp7_;						gchar* username;						const gchar* _tmp8_ = NULL;						gchar* _tmp9_;						gchar* data;						const gchar* _tmp10_ = NULL;						gchar* _tmp11_;						gchar* eventChannel;						const gchar* _tmp12_ = NULL;						gchar* _tmp13_;						gchar* eventServer;						gint64 _tmp14_;						GDateTime* _tmp15_ = NULL;						GDateTime* timestamp;						gint _tmp16_;						DaemonDataEventTypes type;						DaemonEventsLogEvent* current;						DaemonEventsLogEvent* _tmp21_;						_tmp6_ = sqlite3_column_text (statement, 0);						_tmp7_ = g_strdup (_tmp6_);						username = _tmp7_;						_tmp8_ = sqlite3_column_text (statement, 1);						_tmp9_ = g_strdup (_tmp8_);						data = _tmp9_;						_tmp10_ = sqlite3_column_text (statement, 2);						_tmp11_ = g_strdup (_tmp10_);						eventChannel = _tmp11_;						_tmp12_ = sqlite3_column_text (statement, 3);						_tmp13_ = g_strdup (_tmp12_);						eventServer = _tmp13_;						_tmp14_ = sqlite3_column_int64 (statement, 4);						_tmp15_ = daemon_helpers_date_time_converter_FromUnixTimestamp (_tmp14_);						timestamp = _tmp15_;						_tmp16_ = sqlite3_column_int (statement, 5);						type = (DaemonDataEventTypes) _tmp16_;						current = NULL;						switch (type) {							case DAEMON_DATA_EVENT_TYPES_Joined:							{								{									DaemonEventsStatusEvent* _tmp17_ = NULL;									_tmp17_ = daemon_events_status_event_new_WithTimestamp (username, DAEMON_EVENTS_STATUS_CHANGE_Join, eventChannel, eventServer, timestamp);									_g_object_unref0 (current);									current = (DaemonEventsLogEvent*) _tmp17_;									break;								}							}							case DAEMON_DATA_EVENT_TYPES_Left:							{//.........这里部分代码省略.........
开发者ID:SBFh,项目名称:SemesterLeistung,代码行数:101,


示例6: tokenize

/** * This function is invoked as: * *  _TOKENIZE('<token_table>', <data_row_id>, <data>, <delimiter>, *             <use_token_index>, <data_tag>) * * If <use_token_index> is omitted, it is treated as 0. * If <data_tag> is omitted, it is treated as NULL. * * It will split <data> on each instance of <delimiter> and insert each token * into <token_table>. The following columns in <token_table> are used: * token TEXT, source INTEGER, token_index INTEGER, tag (any type) * The token_index column is not required if <use_token_index> is 0. * The tag column is not required if <data_tag> is NULL. * * One row is inserted for each token in <data>. * In each inserted row, 'source' is <data_row_id>. * In the first inserted row, 'token' is the hex collation key of * the entire <data> string, and 'token_index' is 0. * In each row I (where 1 <= I < N, and N is the number of tokens in <data>) * 'token' will be set to the hex collation key of the I:th token (0-based). * If <use_token_index> != 0, 'token_index' is set to I. * If <data_tag> is not NULL, 'tag' is set to <data_tag>. * * In other words, there will be one row for the entire string, * and one row for each token except the first one. * * The function returns the number of tokens generated. */static void tokenize(sqlite3_context * context, int argc, sqlite3_value ** argv){    //LOGD("enter tokenize");    int err;    int useTokenIndex = 0;    int useDataTag = 0;    if (!(argc >= 4 || argc <= 6)) {        LOGE("Tokenize requires 4 to 6 arguments");        sqlite3_result_null(context);        return;    }    if (argc > 4) {        useTokenIndex = sqlite3_value_int(argv[4]);    }    if (argc > 5) {        useDataTag = (sqlite3_value_type(argv[5]) != SQLITE_NULL);    }    sqlite3 * handle = sqlite3_context_db_handle(context);    UCollator* collator = (UCollator*)sqlite3_user_data(context);    char const * tokenTable = (char const *)sqlite3_value_text(argv[0]);    if (tokenTable == NULL) {        LOGE("tokenTable null");        sqlite3_result_null(context);        return;    }    // Get or create the prepared statement for the insertions    sqlite3_stmt * statement = (sqlite3_stmt *)sqlite3_get_auxdata(context, 0);    if (!statement) {        char const * tokenIndexCol = useTokenIndex ? ", token_index" : "";        char const * tokenIndexParam = useTokenIndex ? ", ?" : "";        char const * dataTagCol = useDataTag ? ", tag" : "";        char const * dataTagParam = useDataTag ? ", ?" : "";        char * sql = sqlite3_mprintf("INSERT INTO %s (token, source%s%s) VALUES (?, ?%s%s);",                tokenTable, tokenIndexCol, dataTagCol, tokenIndexParam, dataTagParam);        err = sqlite3_prepare_v2(handle, sql, -1, &statement, NULL);        sqlite3_free(sql);        if (err) {            LOGE("prepare failed");            sqlite3_result_null(context);            return;        }        // This binds the statement to the table it was compiled against, which is argv[0].        // If this function is ever called with a different table the finalizer will be called        // and sqlite3_get_auxdata() will return null above, forcing a recompile for the new table.        sqlite3_set_auxdata(context, 0, statement, tokenize_auxdata_delete);    } else {        // Reset the cached statement so that binding the row ID will work properly        sqlite3_reset(statement);    }    // Bind the row ID of the source row    int64_t rowID = sqlite3_value_int64(argv[1]);    err = sqlite3_bind_int64(statement, 2, rowID);    if (err != SQLITE_OK) {        LOGE("bind failed");        sqlite3_result_null(context);        return;    }    // Bind <data_tag> to the tag column    if (useDataTag) {        int dataTagParamIndex = useTokenIndex ? 4 : 3;        err = sqlite3_bind_value(statement, dataTagParamIndex, argv[5]);        if (err != SQLITE_OK) {            LOGE("bind failed");            sqlite3_result_null(context);//.........这里部分代码省略.........
开发者ID:seinlin,项目名称:nv7fire-external-sqlite,代码行数:101,


示例7: sqlite3_prepare_v2

void GDataBase::open(std::string _filename){    isOpen = !sqlite3_open(_filename.c_str(), &db);    sqlite3_prepare_v2(db, cmd_word_type.c_str(), -1, &stmt_word_type, &tail);}//open(string _filename)
开发者ID:luyi326,项目名称:linguo,代码行数:4,


示例8: daemon_data_sqlite_data_LogMessageEvent

void daemon_data_sqlite_data_LogMessageEvent (DaemonDataSqliteData* self, DaemonEventsMessageEvent* event, GError** error) {	gchar* _tmp0_;	gchar* commandText;	sqlite3_stmt* statement = NULL;	sqlite3_stmt* _tmp1_ = NULL;	const gchar* _tmp2_ = NULL;	gchar* _tmp3_;	const gchar* _tmp4_ = NULL;	gchar* _tmp5_;	const gchar* _tmp6_ = NULL;	gchar* _tmp7_;	const gchar* _tmp8_ = NULL;	gchar* _tmp9_;	gint64 _tmp10_;	gint _tmp11_;	GError * _inner_error_ = NULL;	g_return_if_fail (self != NULL);	g_return_if_fail (event != NULL);	_tmp0_ = g_strdup ("INSERT INTO Log (Username, Data, Channel, Server, Timestamp, Type) VAL" /"UES (@1, @2, @3, @4, @5, @6)");	commandText = _tmp0_;	sqlite3_prepare_v2 (self->priv->_database, commandText, -1, &_tmp1_, NULL);	_sqlite3_finalize0 (statement);	statement = _tmp1_;	_tmp2_ = daemon_events_log_event_get_Username ((DaemonEventsLogEvent*) event);	_tmp3_ = g_strdup (_tmp2_);	sqlite3_bind_text (statement, 1, _tmp3_, -1, g_free);	_tmp4_ = daemon_events_message_event_get_Message (event);	_tmp5_ = g_strdup (_tmp4_);	sqlite3_bind_text (statement, 2, _tmp5_, -1, g_free);	_tmp6_ = daemon_events_log_event_get_Channel ((DaemonEventsLogEvent*) event);	_tmp7_ = g_strdup (_tmp6_);	sqlite3_bind_text (statement, 3, _tmp7_, -1, g_free);	_tmp8_ = daemon_events_log_event_get_Server ((DaemonEventsLogEvent*) event);	_tmp9_ = g_strdup (_tmp8_);	sqlite3_bind_text (statement, 4, _tmp9_, -1, g_free);	_tmp10_ = daemon_events_log_event_get_UnixTimestamp ((DaemonEventsLogEvent*) event);	sqlite3_bind_int64 (statement, 5, _tmp10_);	sqlite3_bind_int (statement, 6, (gint) DAEMON_DATA_EVENT_TYPES_Message);	_tmp11_ = sqlite3_step (statement);	if (_tmp11_ != SQLITE_DONE) {		const gchar* _tmp12_ = NULL;		GError* _tmp13_ = NULL;		_tmp12_ = sqlite3_errmsg (self->priv->_database);		_tmp13_ = g_error_new_literal (DAEMON_DATA_DATA_ACCESS_ERROR, DAEMON_DATA_DATA_ACCESS_ERROR_WriteError, _tmp12_);		_inner_error_ = _tmp13_;		if (_inner_error_->domain == DAEMON_DATA_DATA_ACCESS_ERROR) {			g_propagate_error (error, _inner_error_);			_sqlite3_finalize0 (statement);			_g_free0 (commandText);			return;		} else {			_sqlite3_finalize0 (statement);			_g_free0 (commandText);			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);			g_clear_error (&_inner_error_);			return;		}	}	_sqlite3_finalize0 (statement);	_g_free0 (commandText);}
开发者ID:SBFh,项目名称:SemesterLeistung,代码行数:62,


示例9: CCASSERT

void QuickStoneSystem::initQuickStoneData(void){	std::string sql;	int result;	char *zErrorMsg = 0;	CCASSERT(_sqlitedb, "sqlitedb==null");	// 查询表字段	sql = "select data1 from QuiteStone_Table";	result = sqlite3_exec(_sqlitedb, sql.c_str(), NULL, NULL, &zErrorMsg);	// 表不存在	if (result != SQLITE_OK)	{		// 建表		sql.clear();		sql = "create table if not exists QuiteStone_Table(";		for (int i = QuickStoneKey_F; i < QuickStoneKey_Max; i++)		{			sql.append("data");			sql.append(__String::createWithFormat("%d", i)->getCString());			sql.append(" integer");			if (i != QuickStoneKey_Max - 1)			{				sql.append(",");			}		}		sql.append(")");		result = sqlite3_exec(_sqlitedb, sql.c_str(), NULL, NULL, &zErrorMsg);		if (result == SQLITE_OK)		{			// 插入数据 			sql.clear();			sql = sql.append("insert into QuiteStone_Table values (");			for (int i = QuickStoneKey_F; i < QuickStoneKey_Max; i++)			{				sql.append( StringUtils::format("%d", getQuickStoneDataWithKey((QuickStoneKey)i)->haveNum));				if (i != QuickStoneKey_Max - 1)				{					sql.append(", ");				}			}			sql.append(")");			result = sqlite3_exec(_sqlitedb, sql.c_str(), NULL, NULL, &zErrorMsg);			if (result != SQLITE_OK)				CCLOG("insert err");		}	}	// 查询数据 	sql.clear();	sql = sql.append("select ");	for (int i = QuickStoneKey_F; i < QuickStoneKey_Max; i++)	{		sql.append("data");		sql.append(__String::createWithFormat("%d", i)->getCString());		if (i != QuickStoneKey_Max - 1)		{			sql.append(",");		}	}	sql.append(" from QuiteStone_Table");	sqlite3_stmt *statement;	if (sqlite3_prepare_v2(_sqlitedb, sql.c_str(), -1, &statement, nullptr) == SQLITE_OK)	{		// 初始化列表		while (sqlite3_step(statement) == SQLITE_ROW)		{			for (int i = QuickStoneKey_F; i < QuickStoneKey_Max; i++)			{				int num = sqlite3_column_int(statement, i - 1);				getQuickStoneDataWithKey((QuickStoneKey)i)->haveNum = num;			}		}	}	sqlite3_finalize(statement);}
开发者ID:Chonger8888,项目名称:project,代码行数:92,


示例10: CSV_MGR

/******************************************** 角色系统*******************************************/void GameRoleSystem::initRoleInfo( sqlite3* db ){	for ( int i = 0; i<3; i++ )	{		_roleConfig[i] = CSV_MGR()->GetCsvRoleUpgrade()->GetByID( i+1 );	}	std::string sql;	int result;	char *zErrorMsg = 0;	// 查询表字段	sql = "select type from roleInfo_Table";	result=sqlite3_exec(db,sql.c_str(),NULL,NULL,&zErrorMsg);	// 表不存在	if ( result != SQLITE_OK )	{		//	CCASSERT( result == SQLITE_OK, "roleinfo table not existes");		sql="create table if not exists roleInfo_Table("/			"type integer"/			",roleGrade integer"/			",isunlock integer"/			",roleExp integer"/			",isOption integer"			")";		result=sqlite3_exec(db,sql.c_str(),NULL,NULL,&zErrorMsg);		if(result == SQLITE_OK)   		{			for ( int i =0; i<3; i++ )			{				// 插入数据 用户基础数据				sql.clear();				sql = __String::createWithFormat("insert into roleInfo_Table values( %d, %d, %d, %d, %d )",					_roleConfig[i]->roleId,					_roleConfig[i]->roleGrade,					_roleConfig[i]->isLock,					_roleConfig[i]->CurExp,					_roleConfig[i]->isOption)->getCString();				result=sqlite3_exec(db,sql.c_str(),NULL,NULL,&zErrorMsg);				if(result!=SQLITE_OK)					CCLOG("insert err");			}		}	}	// 查询语句	sql = " select type, roleGrade, isunlock, roleExp, isOption from roleInfo_Table";	sqlite3_stmt *statement;	if ( sqlite3_prepare_v2(db, sql.c_str(), -1, &statement, nullptr) == SQLITE_OK )	{		// 初始化角色列表		while (sqlite3_step(statement) == SQLITE_ROW) 		{			// 获得解锁状态			int id			= sqlite3_column_int(statement, 0);			int grade		= sqlite3_column_int(statement, 1);			int islock		= sqlite3_column_int(statement, 2);			int exp			= sqlite3_column_int(statement, 3);			int isOption	= sqlite3_column_int(statement, 4);			_roleConfig[id-1]->roleGrade	= grade;			_roleConfig[id-1]->CurExp		= exp;			_roleConfig[id-1]->isLock		= islock;			_roleConfig[id-1]->isOption		= isOption;			if ( 1 == isOption )			{//				mRoleConfig.roleIndex = id;			}		}	}	sqlite3_finalize(statement);}
开发者ID:Chonger8888,项目名称:project,代码行数:82,


示例11: prepare_statement_vcf_query_fields

int prepare_statement_vcf_query_fields(sqlite3 *db, sqlite3_stmt **stmt) {  char sql[] = "INSERT INTO record_query_fields VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11, ?12, ?13, ?14, ?15)";  return sqlite3_prepare_v2(db, sql, strlen(sql) + 300, stmt, NULL);}
开发者ID:cyenyxe,项目名称:hpg-libs-1,代码行数:4,


示例12: MFTtest

int MFTtest(struct MFT  *u3, int countresult){    sqlite3 *db = NULL;    sqlite3_stmt *stmt = NULL;    char *sql;    int rc;    int j;    unsigned int i;    char *buffer = (char *)malloc(500);    memset(buffer, 0x00, sizeof(char)*500);    int error = sqlite3_open("./case/info.db", &db);    if(error)    {        fprintf(stderr, "DB
C++ sqlite3_realloc函数代码示例
C++ sqlite3_prepare函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。