这篇教程C++ sqlite3_open函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中sqlite3_open函数的典型用法代码示例。如果您正苦于以下问题:C++ sqlite3_open函数的具体用法?C++ sqlite3_open怎么用?C++ sqlite3_open使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了sqlite3_open函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: mainint 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_dbstatic 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_initgboolean 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: mainint 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_sqliteextern 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: initializeTagsvoid 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函数代码示例
|