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

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

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

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

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

示例1: main

int main (int argc, char **argv) {  sqlite3 *db;          // Definimos un puntero a la base de datos  char *errMsg = 0;     // Variable para el mensaje de error  int rc;               // Variable para el retorno de la sentencia  sqlite3_stmt *result; // Puntero a la respuesta de la consulta  // Abro la conexión con la base de datos  rc = sqlite3_open("BDPrueba.sqlite", &db);  // Compruebo que no hay error  if (rc != SQLITE_OK) {    fprintf(stderr, "No se puede acceder a la base de datos: %s./n", sqlite3_errmsg(db));    sqlite3_close(db);    return(1);  }  // Borro la tabla si no existe  rc = sqlite3_exec(db, "DROP TABLE IF EXISTS Empresa", NULL, NULL, &errMsg);  if (rc != SQLITE_OK) {    fprintf(stderr, "Error al borrar la tabla: %s./n", errMsg);    sqlite3_free(errMsg);    sqlite3_close(db);    return(2);  }  // Creo la tabla Empresa  rc = sqlite3_exec(db, "CREATE TABLE Empresa (IdEmpresa INTEGER PRIMARY KEY, Nombre CHAR[250])", NULL, NULL, &errMsg);  if (rc != SQLITE_OK) {    fprintf(stderr, "Error al crear la tabla: %s./n", errMsg);    sqlite3_free(errMsg);    sqlite3_close(db);    return(2);  }  // Inserto un par de registros  rc = sqlite3_exec(db, "INSERT INTO Empresa VALUES( 1, 'Empresa A')", NULL, NULL, &errMsg);  if (rc != SQLITE_OK) {    fprintf(stderr, "Error al crear el primer registro: %s./n", errMsg);    sqlite3_free(errMsg);    sqlite3_close(db);    return(2);  }  rc = sqlite3_exec(db, "INSERT INTO Empresa VALUES( 2, 'Empresa B')", NULL, NULL, &errMsg);  if (rc != SQLITE_OK) {    fprintf(stderr, "Error al crear el segundo registro: %s./n", errMsg);    sqlite3_free(errMsg);    sqlite3_close(db);    return(2);  }  // Consulta a realizar sobre la tabla.  // En este caso quiero los campos idEmpresa y Nombre de la tabla Empresa  rc = sqlite3_prepare(db, "SELECT idEmpresa,Nombre FROM Empresa", -1, &result, NULL);  // Compruebo que no hay error  if (rc != SQLITE_OK) {    fprintf(stderr, "Error en la consulta: %s./n", sqlite3_errmsg(db));    sqlite3_close(db);    return(3);  }  // Bucle de presentación en pantalla del resultado de la consulta  while ( sqlite3_step(result) == SQLITE_ROW) {    fprintf(stderr, "El Id y nombre de la empresa son:  %i - %s./n", sqlite3_column_int(result, 0)                                                                   , sqlite3_column_text(result, 1));  }  // Cierro la conexión  sqlite3_close(db);  return 0;}
开发者ID:Ralonsoafl,项目名称:flokibooks,代码行数:68,


示例2: main

//.........这里部分代码省略.........						"Could not open %s: %s/n",						optarg, strerror(errno));					return 1;				}			}			pattfp[npattfp] = fp;			pattfpi[npattfp] = caseinsensitive;			npattfp++;			break;		case 'o':			if (result_file) {				fprintf(stderr,					"Multiple output files specified/n");				return 1;			}			result_file = optarg;			break;		case 's':			if (seedfile != NULL) {				fprintf(stderr,					"Multiple RNG seeds specified/n");				return 1;			}			seedfile = optarg;			break;		case 'H':			fprintf(stderr,				"Saving to database/n");			int rc;			char* zErrMsg;			char* sql;			/* Open database */			rc = sqlite3_open("btc_dataBase.db", &db);			if (rc) {				fprintf(stderr, "Can't open database: %s/n", sqlite3_errmsg(db));				sqlite3_close(db);				exit(EXIT_FAILURE);			} else {				fprintf(stdout, "Opened database successfully/n");			}			/* Create Table */			sql = "CREATE TABLE BITCOIN("					/				  "ADDRESS CHAR(50) PRIMARY KEY NOT NULL,"  /				  "PRIVKEY CHAR(70)             NOT NULL,"  /				  "PATTERN CHAR(20)             NOT NULL);";			/* Execute Create Table*/			rc = sqlite3_exec(db, sql, callback, NULL, &zErrMsg);			if (rc != SQLITE_OK) {				fprintf(stderr, "CREATE TABLE SQL error: %s/n", zErrMsg);				sqlite3_free(zErrMsg);			} else {				fprintf(stdout, "CREATE TABLE successfully/n");			}			sqlite3_close(db);			break;		default:			usage(argv[0]);			return 1;		}	}#if OPENSSL_VERSION_NUMBER < 0x10000000L
开发者ID:LukeLu1263,项目名称:Enhanced-Vanitygen,代码行数:67,


示例3: try_to_open_db

static int try_to_open_db(const char *filename, struct memblock *mem, struct dive_table *table){	sqlite3 *handle;	char dm4_test[] = "select count(*) from sqlite_master where type='table' and name='Dive' and sql like '%ProfileBlob%'";	char dm5_test[] = "select count(*) from sqlite_master where type='table' and name='Dive' and sql like '%SampleBlob%'";	char shearwater_test[] = "select count(*) from sqlite_master where type='table' and name='system' and sql like '%dbVersion%'";	char cobalt_test[] = "select count(*) from sqlite_master where type='table' and name='TrackPoints' and sql like '%DepthPressure%'";	char divinglog_test[] = "select count(*) from sqlite_master where type='table' and name='DBInfo' and sql like '%PrgName%'";	int retval;	retval = sqlite3_open(filename, &handle);	if (retval) {		fprintf(stderr, "Database connection failed '%s'./n", filename);		return 1;	}	/* Testing if DB schema resembles Suunto DM5 database format */	retval = sqlite3_exec(handle, dm5_test, &db_test_func, 0, NULL);	if (!retval) {		retval = parse_dm5_buffer(handle, filename, mem->buffer, mem->size, table);		sqlite3_close(handle);		return retval;	}	/* Testing if DB schema resembles Suunto DM4 database format */	retval = sqlite3_exec(handle, dm4_test, &db_test_func, 0, NULL);	if (!retval) {		retval = parse_dm4_buffer(handle, filename, mem->buffer, mem->size, table);		sqlite3_close(handle);		return retval;	}	/* Testing if DB schema resembles Shearwater database format */	retval = sqlite3_exec(handle, shearwater_test, &db_test_func, 0, NULL);	if (!retval) {		retval = parse_shearwater_buffer(handle, filename, mem->buffer, mem->size, table);		sqlite3_close(handle);		return retval;	}	/* Testing if DB schema resembles Atomic Cobalt database format */	retval = sqlite3_exec(handle, cobalt_test, &db_test_func, 0, NULL);	if (!retval) {		retval = parse_cobalt_buffer(handle, filename, mem->buffer, mem->size, table);		sqlite3_close(handle);		return retval;	}	/* Testing if DB schema resembles Divinglog database format */	retval = sqlite3_exec(handle, divinglog_test, &db_test_func, 0, NULL);	if (!retval) {		retval = parse_divinglog_buffer(handle, filename, mem->buffer, mem->size, table);		sqlite3_close(handle);		return retval;	}	sqlite3_close(handle);	return retval;}
开发者ID:torvalds,项目名称:subsurface,代码行数:61,


示例4: sqlite3_open

// opens a new sqlite databaseDBInterface::DBInterface(std::string db_path){    sqlite3_open(db_path.c_str(), &database);}
开发者ID:bessey,项目名称:picnic-doc-server,代码行数:5,


示例5: gc_db_init

gboolean gc_db_init(gboolean disable_database_){#ifdef USE_SQLITE  disable_database = disable_database_;  SUPPORT_OR_RETURN(FALSE);  gboolean creation = FALSE;  char *zErrMsg;  char **result;  int rc;  int nrow;  int ncolumn;  GcomprisProperties	*properties = gc_prop_get();  if (!g_file_test(properties->database, G_FILE_TEST_EXISTS))    creation = TRUE;  rc = sqlite3_open(properties->database, &gcompris_db);  if( rc ){    g_message("Can't open database %s : %s/n", properties->database,	      sqlite3_errmsg(gcompris_db));    sqlite3_close(gcompris_db);    disable_database = TRUE;    return FALSE;  }  g_message("Database %s opened", properties->database);  if (creation){    _create_db();  } else {    if ( ! _check_db_integrity() ||	 _gc_boards_count() == 0 )      {	// We failed to load the database, let's	// backup it and re create it.	sqlite3_close(gcompris_db);	gchar *backup = g_strdup_printf("%s.broken", properties->database);	if ( g_rename(properties->database, backup) < 0 )	  {	    // Obviously, we cannot write the backup file either	    g_message("Failed to write the backup database %s", backup);	    disable_database = TRUE;	    return FALSE;	  }	else	  g_message("Database is broken, it is copyed in %s", backup);	g_free(backup);	rc = sqlite3_open(properties->database, &gcompris_db);	if( rc ){	  g_message("Can't open database %s : %s/n", properties->database,		    sqlite3_errmsg(gcompris_db));	  sqlite3_close(gcompris_db);	  disable_database = TRUE;	  return FALSE;	}	_create_db();	if ( ! _check_db_integrity() )	  {	    disable_database = TRUE;	    return FALSE;	  }      }    g_message("Database Integrity ok");    rc = sqlite3_get_table(gcompris_db,			   CHECK_VERSION,			   &result,			   &nrow,			   &ncolumn,			   &zErrMsg			   );    if( rc!=SQLITE_OK ){      g_error("SQL error: %s/n", zErrMsg);    }    if (strcmp(result[1],VERSION)!=0)      g_message("Running GCompris is %s, but database version is %s", VERSION, result[1]);    sqlite3_free_table(result);    /* Schema upgrade */    rc = sqlite3_get_table(gcompris_db,			   PRAGMA_SCHEMA_VERSION,			   &result,			   &nrow,			   &ncolumn,			   &zErrMsg			   );    if( rc!=SQLITE_OK ){      g_error("SQL error: %s/n", zErrMsg);    }    int version = atoi(result[1]);    sqlite3_free_table(result);    if(version <= 16)      {//.........这里部分代码省略.........
开发者ID:GNOME,项目名称:gcompris,代码行数:101,


示例6: main

int main(int argc, char **argv){  const char *zDb;  int rc = 0;  char *zErr = 0;  int i;  int iVerbose = 1;               /* -verbose option */  sqlite3 *db = 0;  sqlite3expert *p = 0;  if( argc<2 ) usage(argv);  zDb = argv[argc-1];  if( zDb[0]=='-' ) usage(argv);  rc = sqlite3_open(zDb, &db);  if( rc!=SQLITE_OK ){    fprintf(stderr, "Cannot open db file: %s - %s/n", zDb, sqlite3_errmsg(db));    exit(-2);  }  p = sqlite3_expert_new(db, &zErr);  if( p==0 ){    fprintf(stderr, "Cannot run analysis: %s/n", zErr);    rc = 1;  }else{    for(i=1; i<(argc-1); i++){      char *zArg = argv[i];      int nArg;      if( zArg[0]=='-' && zArg[1]=='-' && zArg[2]!=0 ) zArg++;      nArg = (int)strlen(zArg);      if( nArg>=2 && 0==sqlite3_strnicmp(zArg, "-file", nArg) ){        if( ++i==(argc-1) ) option_requires_argument("-file");        rc = readSqlFromFile(p, argv[i], &zErr);      }      else if( nArg>=3 && 0==sqlite3_strnicmp(zArg, "-sql", nArg) ){        if( ++i==(argc-1) ) option_requires_argument("-sql");        rc = sqlite3_expert_sql(p, argv[i], &zErr);      }      else if( nArg>=3 && 0==sqlite3_strnicmp(zArg, "-sample", nArg) ){        int iSample;        if( ++i==(argc-1) ) option_requires_argument("-sample");        iSample = option_integer_arg(argv[i]);        sqlite3_expert_config(p, EXPERT_CONFIG_SAMPLE, iSample);      }      else if( nArg>=2 && 0==sqlite3_strnicmp(zArg, "-verbose", nArg) ){        if( ++i==(argc-1) ) option_requires_argument("-verbose");        iVerbose = option_integer_arg(argv[i]);      }      else{        usage(argv);      }    }  }  if( rc==SQLITE_OK ){    rc = sqlite3_expert_analyze(p, &zErr);  }  if( rc==SQLITE_OK ){    int nQuery = sqlite3_expert_count(p);    if( iVerbose>0 ){      const char *zCand = sqlite3_expert_report(p,0,EXPERT_REPORT_CANDIDATES);      fprintf(stdout, "-- Candidates -------------------------------/n");      fprintf(stdout, "%s/n", zCand);    }    for(i=0; i<nQuery; i++){      const char *zSql = sqlite3_expert_report(p, i, EXPERT_REPORT_SQL);      const char *zIdx = sqlite3_expert_report(p, i, EXPERT_REPORT_INDEXES);      const char *zEQP = sqlite3_expert_report(p, i, EXPERT_REPORT_PLAN);      if( zIdx==0 ) zIdx = "(no new indexes)/n";      if( iVerbose>0 ){        fprintf(stdout, "-- Query %d ----------------------------------/n",i+1);        fprintf(stdout, "%s/n/n", zSql);      }      fprintf(stdout, "%s/n%s/n", zIdx, zEQP);    }  }else{    fprintf(stderr, "Error: %s/n", zErr ? zErr : "?");  }  sqlite3_expert_destroy(p);  sqlite3_free(zErr);  return rc;}
开发者ID:HongliYu,项目名称:firefox-ios,代码行数:87,


示例7: main

//.........这里部分代码省略.........                if( i>=argc-1 ) fatalError("missing arguments on %s", argv[i]);                iTimeout = integerValue(argv[++i]);            } else if( strcmp(z,"timeout-test")==0 ) {                timeoutTest = 1;#ifndef __unix__                fatalError("timeout is not available on non-unix systems");#endif            } else if( strcmp(z,"verbose")==0 || strcmp(z,"v")==0 ) {                quietFlag = 0;                verboseFlag++;                if( verboseFlag>1 ) runFlags |= SQL_TRACE;            } else            {                fatalError("unknown option: %s", argv[i]);            }        } else {            nSrcDb++;            azSrcDb = safe_realloc(azSrcDb, nSrcDb*sizeof(azSrcDb[0]));            azSrcDb[nSrcDb-1] = argv[i];        }    }    if( nSrcDb==0 ) fatalError("no source database specified");    if( nSrcDb>1 ) {        if( zMsg ) {            fatalError("cannot change the description of more than one database");        }        if( zInsSql ) {            fatalError("cannot import into more than one database");        }    }    /* Process each source database separately */    for(iSrcDb=0; iSrcDb<nSrcDb; iSrcDb++) {        rc = sqlite3_open(azSrcDb[iSrcDb], &db);        if( rc ) {            fatalError("cannot open source database %s - %s",                       azSrcDb[iSrcDb], sqlite3_errmsg(db));        }        rc = sqlite3_exec(db,                          "CREATE TABLE IF NOT EXISTS db(/n"                          "  dbid INTEGER PRIMARY KEY, -- database id/n"                          "  dbcontent BLOB            -- database disk file image/n"                          ");/n"                          "CREATE TABLE IF NOT EXISTS xsql(/n"                          "  sqlid INTEGER PRIMARY KEY,   -- SQL script id/n"                          "  sqltext TEXT                 -- Text of SQL statements to run/n"                          ");"                          "CREATE TABLE IF NOT EXISTS readme(/n"                          "  msg TEXT -- Human-readable description of this file/n"                          ");", 0, 0, 0);        if( rc ) fatalError("cannot create schema: %s", sqlite3_errmsg(db));        if( zMsg ) {            char *zSql;            zSql = sqlite3_mprintf(                       "DELETE FROM readme; INSERT INTO readme(msg) VALUES(%Q)", zMsg);            rc = sqlite3_exec(db, zSql, 0, 0, 0);            sqlite3_free(zSql);            if( rc ) fatalError("cannot change description: %s", sqlite3_errmsg(db));        }        if( zInsSql ) {            sqlite3_create_function(db, "readfile", 1, SQLITE_UTF8, 0,                                    readfileFunc, 0, 0);            rc = sqlite3_prepare_v2(db, zInsSql, -1, &pStmt, 0);            if( rc ) fatalError("cannot prepare statement [%s]: %s",                                    zInsSql, sqlite3_errmsg(db));            rc = sqlite3_exec(db, "BEGIN", 0, 0, 0);
开发者ID:JohnArchieMckown,项目名称:sqlite,代码行数:67,


示例8: setup_sqlite

extern void setup_sqlite() {     int           i;     sqlite3_stmt *stmt = (sqlite3_stmt *)NULL;     char         *ztail = (char *)NULL;     char         *create[] = {"pragma foreign_keys=true",                               "create table decks"                               " (deckid integer primary key not null,"                               "  filename  varchar(250) not null,"                               "  shortname varchar(30)  not null,"                               " constraint slides_uq unique(filename))",                               "create table slides"                               " (slideid integer primary key not null,"                               "  deckid    int not null,"                               "  slidenum  int not null,"                               " constraint slides_uq unique(deckid,"                               "                             slidenum),"                               " constraint slides_fk"                               "        foreign key(deckid)"                               "        references decks(deckid))",                               "create table words"                               " (word      varchar(60) not null,"                               "  kw        char(1) not null default 'N',"                               "  slideid   int not null,"                               "  counter   int not null default 1,"                               "  origin    char(1) not null,"                               "  stem      varchar(30),"                               " constraint words_pk primary key(word,"                               "       slideid,origin),"                               " constraint words_fk"                               "        foreign key(slideid)"                               "        references slides(slideid))",                               "create index words_idx"                               " on words(slideid,word)",                               "create index words_idx2"                               " on words(stem)",                               NULL};         if (sqlite3_open(":memory:", &G_db) != SQLITE_OK) {        fprintf(stderr, "sqlite3_open: %s/n", (char *)sqlite3_errmsg(G_db));        exit(1);     }     i = 0;     while (create[i]) {       if ((sqlite3_prepare(G_db,                            (const char *)create[i],                            -1,                            &stmt,                            (const char **)&ztail) != SQLITE_OK)            || (sqlite3_step(stmt) != SQLITE_DONE)) {         fprintf(stderr, "%s: %s/n",                         create[i],                         (char *)sqlite3_errmsg(G_db));         (void)sqlite3_close(G_db);         exit(1);       }       (void)sqlite3_finalize(stmt);       i++;     }      // Prepare statements that will be repeatedly executed     if ((sqlite3_prepare(G_db,                          "insert into decks(filename,shortname)"                          "values(?,lower(?))",                          -1,                          &G_ins_deck,                          (const char **)&ztail) != SQLITE_OK)         || (sqlite3_prepare(G_db,                          "insert or ignore into slides(deckid,slidenum)"                          "values(?,?)",                          -1,                          &G_ins_slide,                          (const char **)&ztail) != SQLITE_OK)         || (sqlite3_prepare(G_db,                          "select slideid from slides"                          " where deckid=? and slidenum=?",                          -1,                          &G_sel_slide,                          (const char **)&ztail) != SQLITE_OK)         || (sqlite3_prepare(G_db,                          "insert into words(word,slideid,origin,kw)"                          "values(lower(trim(?)),?,upper(char(?)),"                          "case ? when 0 then 'N' else 'Y' end)",                          -1,                          &G_ins_word,                          (const char **)&ztail) != SQLITE_OK)         || (sqlite3_prepare(G_db,                          "insert into words(word,slideid,origin,kw)"                          "values(trim(?),?,upper(char(?)),"                          "case ? when 0 then 'N' else 'Y' end)",                          -1,                          &G_ins_word_as_is,                          (const char **)&ztail) != SQLITE_OK)         || (sqlite3_prepare(G_db,                          "update words set counter=counter+1"                          " where word=lower(trim(?))"                          " and slideid=?"                          " and origin=upper(?)",                          -1,                          &G_upd_word,                          (const char **)&ztail) != SQLITE_OK)         || (sqlite3_prepare(G_db,//.........这里部分代码省略.........
开发者ID:sfaroult,项目名称:slide_index,代码行数:101,


示例9: initializeTags

void initializeTags(void * mainCache){	MUTEX_CREATE(concurentColdUpdate);		sqlite3 * coldDB = NULL;		//Create the tables in the main cache	createTagsTable(mainCache);		if((!checkFileExist(TAG_DB) || sqlite3_open(TAG_DB , &coldDB) != SQLITE_OK) && (!checkFileExist(WIP_TAG_DB) || sqlite3_open(WIP_TAG_DB, &coldDB) != SQLITE_OK))	{		//Error, we should reset it with the version we ship with then trigger an update		resetTagsToLocal();				if(!checkFileExist(TAG_DB) || sqlite3_open(TAG_DB , &coldDB) != SQLITE_OK)		{			alertExit("We have significant issues setting up our environment, this may be caused by permission issues, please contact us at [email
C++ sqlite3_prepare函数代码示例
C++ sqlite3_mutex_leave函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。