本文整理汇总了C++中db_close函数的典型用法代码示例。如果您正苦于以下问题:C++ db_close函数的具体用法?C++ db_close怎么用?C++ db_close使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了db_close函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: rt_dirbuild
/**
* Builds a directory of the object names.
*
* Allocate and initialize information for this instance of an RT
* model database.
*
* Returns -
* (struct rt_i *) Success
* RTI_NULL Fatal Error
*/
struct rt_i *
rt_dirbuild(const char *filename, char *buf, int len)
{
register struct rt_i *rtip;
register struct db_i *dbip; /* Database instance ptr */
if (rt_uniresource.re_magic == 0)
rt_init_resource(&rt_uniresource, 0, NULL);
if ((dbip = db_open(filename, DB_OPEN_READONLY)) == DBI_NULL)
return RTI_NULL; /* FAIL */
RT_CK_DBI(dbip);
if (db_dirbuild(dbip) < 0) {
db_close(dbip);
return RTI_NULL; /* FAIL */
}
rtip = rt_new_rti(dbip); /* clones dbip */
db_close(dbip); /* releases original dbip */
if (buf != (char *)NULL)
bu_strlcpy(buf, dbip->dbi_title, len);
return rtip; /* OK */
}
开发者ID:behollis,项目名称:brlcad-svn-rev65072-gsoc2015,代码行数:36,代码来源:dir.c
示例2: URL_put_data_mysql_url
int URL_put_data_mysql_url ( const URL *url, const PKI_MEM *data ) {
#ifdef HAVE_MYSQL
MYSQL * sql = NULL;
char * query = NULL;
if( !url ) return (PKI_ERR);
if((query = parse_url_put_query( url, data )) == NULL ) {
return( PKI_ERR );
}
if((sql = db_connect ( url )) == NULL ) {
PKI_Free( query );
return(PKI_ERR);
}
if(mysql_query(sql, query ) != 0 ) {
PKI_Free ( query );
db_close( sql );
return( PKI_ERR );
}
PKI_Free (query);
db_close ( sql );
return ( PKI_OK );
#else
return ( PKI_ERR );
#endif
}
开发者ID:openca,项目名称:libpki,代码行数:34,代码来源:mysql.c
示例3: backend_get_details_thread
static gboolean
backend_get_details_thread (PkBackend *backend)
{
PackageSearch *ps;
GList *list;
sqlite3 *db;
gchar **package_ids;
gchar **package_id_data;
package_ids = pk_backend_get_strv (backend, "package_ids");
/* FIXME: support multiple packages */
package_id_data = pk_package_id_split (package_ids[0]);
db = db_open ();
pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
/* only one element is returned */
list = box_db_repos_packages_search_by_data (db, package_id_data[PK_PACKAGE_ID_NAME], package_id_data[PK_PACKAGE_ID_VERSION]);
if (list == NULL) {
pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_ID_INVALID, "cannot find package by id");
db_close (db);
return FALSE;
}
ps = (PackageSearch*) list->data;
pk_backend_details (backend, package_ids[0], "unknown", PK_GROUP_ENUM_OTHER, ps->description, "", 0);
box_db_repos_package_list_free (list);
db_close (db);
pk_backend_finished (backend);
return TRUE;
}
开发者ID:AlfredArouna,项目名称:packagekit,代码行数:35,代码来源:pk-backend-box.c
示例4: main
int main(int argc, char **argv)
{
int dev_cnt;
if(argc>1 && (strcmp(argv[1], "-d")==0) )
demonize(argv[0]);
while(1)
{
db_open();
dev_cnt = 0;
receive_history = true;
frame_id = 0;
printf("Wait for cm160 device to be connected\n");
while((dev_cnt = scan_usb()) == 0)
sleep(2);
printf("Found %d compatible device%s\n", dev_cnt, dev_cnt>1?"s":"");
// Only 1 device supported
if(!(g_devices[0].hdev = usb_open(g_devices[0].usb_dev)))
{
fprintf(stderr, "failed to open device\n");
db_close();
break;
}
handle_device(0);
usb_close(g_devices[0].hdev);
db_close();
}
return 0;
}
开发者ID:aziraphale,项目名称:eagle-owl,代码行数:31,代码来源:cm160.c
示例5: main
int
main (int argc, char * argv [])
{ const char *db_name = "./.sndfile-regtest.db" ;
REG_DB *reg_db ;
int k, retval ;
if (argc < 2)
{ printf ("\nUsage message goes here.\n\n") ;
exit (0) ;
} ;
if (argc == 2 && strcmp (argv [1], "--create-db") == 0)
return db_create (db_name) ;
reg_db = db_open (db_name) ;
if (argc == 2)
{ if (strcmp (argv [1], "--list-all") == 0)
return db_list_all (reg_db) ;
if (strcmp (argv [1], "--check-all") == 0)
{ print_libsndfile_version () ;
retval = db_check_all (reg_db) ;
puts ("\nDone.\n") ;
return retval ;
} ;
} ;
if (argc == 3 && strcmp (argv [1], "--del-entry") == 0)
{ db_del_entry (reg_db, argv [2]) ;
db_close (reg_db) ;
return 0 ;
} ;
if (strcmp (argv [1], "--check-file") == 0)
{ print_libsndfile_version () ;
for (k = 2 ; k < argc ; k++)
db_check_file (reg_db, argv [k]) ;
db_close (reg_db) ;
return 0 ;
} ;
if (strcmp (argv [1], "--add-file") == 0)
{ print_libsndfile_version () ;
for (k = 2 ; k < argc ; k++)
db_add_file (reg_db, argv [k]) ;
db_close (reg_db) ;
return 0 ;
} ;
printf ("\nError : unhandled command line args :") ;
for (k = 1 ; k < argc ; k++)
printf (" %s", argv [k]) ;
puts ("\n") ;
return 1 ;
} /* main */
开发者ID:5in4,项目名称:libsox.dll,代码行数:59,代码来源:sndfile-regtest.c
示例6: db_resume_state
int
db_resume_state (struct db_info *entry, struct block_game *pgame)
{
sqlite3_stmt *stmt;
log_info ("Trying to restore saved game");
if (db_open (entry) < 0)
return -1;
/* Get freshest entry in table */
const char select[] = "SELECT * FROM State ORDER BY date DESC;";
sqlite3_prepare_v2 (entry->db, select, sizeof select, &stmt, NULL);
/* Quit if old game-save doesn't exist */
if (sqlite3_step (stmt) != SQLITE_ROW) {
log_info ("Old game saves not found");
sqlite3_finalize (stmt);
db_close (entry);
return 0;
}
strncpy (entry->id, (const char *)
sqlite3_column_text (stmt, 0), sizeof entry->id);
pgame->score = sqlite3_column_int (stmt, 1);
pgame->lines_destroyed = sqlite3_column_int (stmt, 2);
pgame->level = sqlite3_column_int (stmt, 3);
pgame->mod = sqlite3_column_int (stmt, 4);
debug ("Restoring game spaces");
const char *blob = sqlite3_column_blob (stmt, 6);
for (int i = 0; i < BLOCKS_COLUMNS * BLOCKS_ROWS; i++)
pgame->spaces[i/BLOCKS_COLUMNS][i%BLOCKS_COLUMNS] = blob[i];
debug ("Restoring game colors");
blob = sqlite3_column_blob (stmt, 7);
for (int i = 0; i < BLOCKS_COLUMNS * BLOCKS_ROWS; i++)
pgame->colors[i/BLOCKS_COLUMNS][i%BLOCKS_COLUMNS] = blob[i];
sqlite3_finalize (stmt);
/* Remove old entries to DB */
const char drop[] = "DROP TABLE State;";
sqlite3_prepare_v2 (entry->db, drop, sizeof drop, &stmt, NULL);
sqlite3_step (stmt);
sqlite3_finalize (stmt);
db_close (entry);
return 1;
}
开发者ID:rooper149,项目名称:tetris,代码行数:52,代码来源:db.c
示例7: main
int main(int argc,char **argv)
{
static GDBM_FILE gdbm_stotest = NULL;
datum key,data;
int i;
for(i = 1;i<argc;i++)
{
key.dptr = "store test1!";
key.dsize = strlen("store test1")+1;
data = key;
gdbm_stotest = db_open(argv[i]);
printf("\n--------open dbm id:%d-----------\n",gdbm_stotest);
if(db_store(gdbm_stotest,key,data) < 0) {
printf("\n---------store err-----------\n");
db_close(gdbm_stotest);
break;
}
else {
printf("\n---------store successfully!-----------\n");
db_close(gdbm_stotest);
}
printf("\n--------close dbm id:%d-----------\n",gdbm_stotest);
key.dptr = "store test2!";
key.dsize = strlen("store test1")+1;
data = key;
gdbm_stotest = db_open(argv[i]);
printf("\n--------open dbm id:%d-----------\n",gdbm_stotest);
if(db_store(gdbm_stotest,key,data) < 0) {
printf("\n---------store err-----------\n");
db_close(gdbm_stotest);
break;
}
else {
printf("\n---------store successfully!-----------\n");
db_close(gdbm_stotest);
}
printf("\n--------close dbm id:%d-----------\n",gdbm_stotest);
gdbm_stotest = db_open(argv[i]);
key.dptr = "store test1!";
key.dsize = strlen("store test1!")+1;
data = key;
if(gdbm_exists(gdbm_stotest,key) != 0){
printf("-------really exist here!-----");
}
else {
printf("-------not exist here!-------");
}
}
}
开发者ID:yst1571661,项目名称:EquipSharedSystem,代码行数:51,代码来源:db_store_test.c
示例8: chk_prog_stat
static void chk_prog_stat(void) {
sqlite *db_id;
int x=0;
db_id=db_connect(DB_NAME);
db_query(db_id,"select service_dhcp.stat,service_ftp.stat,service_ssh.stat,auth_ad.stat,service_ddns.stat,pptp_vpn.stat,service_snmp.stat,service_https.stat from service_dhcp,service_ftp,service_ssh,auth_ad,service_ddns,pptp_vpn,service_snmp,service_https");
if(SQL_NUMROWS!=0) {
for(x=0;x<SQL_NUMROWS;x++) {
if(!strcmp(SQL_RESULT[x].name,"service_dhcp.stat") && atoi(SQL_RESULT[x].value)==1) dhcp_stat=1;
if(!strcmp(SQL_RESULT[x].name,"service_ftp.stat") && atoi(SQL_RESULT[x].value)==1) ftp_stat=1;
if(!strcmp(SQL_RESULT[x].name,"service_ssh.stat") && atoi(SQL_RESULT[x].value)==1) ssh_stat=1;
if(!strcmp(SQL_RESULT[x].name,"auth_ad.stat") && atoi(SQL_RESULT[x].value)==1) auth_ad=1;
if(!strcmp(SQL_RESULT[x].name,"service_ddns.stat") && atoi(SQL_RESULT[x].value)==1) ddns_stat=1;
if(!strcmp(SQL_RESULT[x].name,"pptp_vpn.stat") && atoi(SQL_RESULT[x].value)==1) pptp_stat=1;
if(!strcmp(SQL_RESULT[x].name,"service_snmp.stat") && atoi(SQL_RESULT[x].value)==1) snmp_stat=1;
if(!strcmp(SQL_RESULT[x].name,"service_https.stat") && atoi(SQL_RESULT[x].value)==1) https_stat=1;
}
}
db_clean_buffer();
db_query(db_id,"select * from htb_client");
if(SQL_NUMROWS!=0) shaper_stat=1;
db_clean_buffer();
db_query(db_id,"select val from misc where name='ids_stat'");
if(SQL_NUMROWS!=0) {
ips_stat=atoi(SQL_RESULT[0].value);
}
db_close(db_id);
}
开发者ID:carriercomm,项目名称:myboxfs,代码行数:27,代码来源:initrc.c
示例9: db_locate
/* Match pattern against files in locate.db file */
static int
db_locate(
const wchar_t *pattern)
{
int count = 0;
#ifdef WIN32
wchar_t buffer[PATH_MAX + 1];
/* Open locate.db for read */
db_open ();
/* Read one directory and file name at a time from database file */
while (db_read (buffer, PATH_MAX)) {
/* See if file name in buffer matches the search pattern */
if (db_match (buffer, pattern)) {
/* Match found => output file name and path */
wprintf (L"%s\n", buffer);
count++;
}
}
db_close ();
#endif
return count;
}
开发者ID:apache,项目名称:nifi-minifi-cpp,代码行数:29,代码来源:locate.c
示例10: easy_downloader_destroy
void easy_downloader_destroy(downloader *inst)
{
d_manager_t *manager = (d_manager_t *)inst;
easy_thread_pool_free(manager->tp);
db_close(manager->db_key);
free(manager);
}
开发者ID:persistentsnail,项目名称:easy-downloader,代码行数:7,代码来源:downloader.c
示例11: sb_lua_db_close
int sb_lua_db_close(lua_State *L)
{
sb_lua_ctxt_t *ctxt;
sb_lua_db_stmt_t *stmt;
unsigned int i;
ctxt = sb_lua_get_context(L);
CHECK_CONNECTION(L, ctxt);
stmt = (sb_lua_db_stmt_t *)luaL_checkudata(L, 1, "sysbench.stmt");
luaL_argcheck(L, stmt != NULL, 1, "prepared statement expected");
for (i = 0; i < stmt->nparams; i++)
{
if (stmt->params[i].buf != NULL)
free(stmt->params[i].buf);
}
free(stmt->params);
stmt->params = NULL;
luaL_unref(L, LUA_REGISTRYINDEX, stmt->param_ref);
luaL_unref(L, LUA_REGISTRYINDEX, stmt->result_ref);
db_close(stmt->ptr);
return 0;
}
开发者ID:smachin1000,项目名称:sysbench,代码行数:28,代码来源:script_lua.c
示例12: close_everything
/*
* The function performs cleanup on exit
*/
void
close_everything ()
{
if (result_file != NULL)
fclose (result_file);
result_file = NULL;
if (trace_dir == NULL)
db_close ();
else
trace_dir_close ();
if (fifo_mode)
{
/*
* Close and remove FIFOs
*/
close (child_stdin_fd);
close (child_stdout_fd);
unlink (fifo_to_wrapper_filename);
unlink (fifo_from_wrapper_filename);
printf ("II - FIFO removed\n");
}
}
开发者ID:gcsmith,项目名称:attack-framework,代码行数:29,代码来源:attack_wrapper.c
示例13: thread
void thread(void *arg)
{
char * ptr=(char *)arg;
sleep(1);
FILE *datafp = NULL;;
datafp=fopen("student.txt", "w+");
fwrite(ptr,1,20,datafp);
fclose(datafp);
DBHANDLE db;
if ((db = db_open("db4", O_RDWR | O_CREAT | O_TRUNC,
FILE_MODE)) == NULL)
err_sys("db_open error");
if (db_store(db, "Alpha", "data1", DB_INSERT) != 0)
err_quit("db_store error for alpha");
if (db_store(db, "beta", "Data for beta", DB_INSERT) != 0)
err_quit("db_store error for beta");
if (db_store(db, "gamma", "record3", DB_INSERT) != 0)
err_quit("db_store error for gamma");
db_close(db);
exit(0);
//printf("hello world! %s\n",ptr);
}
开发者ID:DvHuang,项目名称:Time_OL_Server,代码行数:30,代码来源:testpool.c
示例14: list_geometry
static int
list_geometry(ClientData UNUSED(clientData), Tcl_Interp *interp, int objc, Tcl_Obj *const *objv)
{
static struct db_i *dbip;
struct directory *dp;
int i;
struct bu_vls tclstr = BU_VLS_INIT_ZERO;
if (objc < 3) {
Tcl_WrongNumArgs(interp, 1, objv, "file varname");
return TCL_ERROR;
}
if ((dbip = db_open(Tcl_GetString(objv[1]), "r")) == DBI_NULL) {
bu_log("Unable to open geometry file (%s)\n", Tcl_GetString(objv[1]));
return TCL_ERROR;
}
db_dirbuild(dbip);
for (i = 0; i < RT_DBNHASH; i++) {
for (dp = dbip->dbi_Head[i]; dp != RT_DIR_NULL; dp = dp->d_forw) {
if (dp->d_flags & RT_DIR_HIDDEN) continue;
bu_vls_sprintf(&tclstr, "set %s [concat $%s [list %s]]", Tcl_GetString(objv[2]), Tcl_GetString(objv[2]), dp->d_namep);
Tcl_Eval(interp, bu_vls_addr(&tclstr));
}
}
db_close(dbip);
bu_vls_free(&tclstr);
return TCL_OK;
}
开发者ID:cogitokat,项目名称:brlcad,代码行数:29,代码来源:isst_tcltk.c
示例15: db_open
int db_open()
{
int err;
const char *tail;
static const char query_share_upd[] =
"UPDATE files SET name=?,ext=?,size=?,type=?,mlength=?,mbitrate=?,mcodec=? WHERE fid=?";
static const char query_share_ins[] =
"INSERT OR REPLACE INTO files(fid,hash,name,ext,size,type,mlength,mbitrate,mcodec) "
" VALUES(?,?,?,?,?,?,?,?,?)";
static const char query_share_src[] =
"INSERT INTO sources(fid,sid,complete,rating) VALUES(?,?,?,?)";
static const char query_remove_src[] =
"DELETE FROM sources WHERE sid=?";
static const char query_get_src[] =
"SELECT sid FROM sources WHERE fid=? LIMIT ?";
err = sqlite3_open_v2(DB_NAME, &s_db, DB_OPEN_FLAGS, NULL);
if ( SQLITE_OK != err ) {
ED2KD_LOGERR("failed to open DB (%s)", sqlite3_errmsg(s_db));
return 0;
}
DB_CHECK( SQLITE_OK == sqlite3_prepare_v2(s_db, query_share_upd, sizeof(query_share_upd), &s_stmt[SHARE_UPD], &tail) );
DB_CHECK( SQLITE_OK == sqlite3_prepare_v2(s_db, query_share_ins, sizeof(query_share_ins), &s_stmt[SHARE_INS], &tail) );
DB_CHECK( SQLITE_OK == sqlite3_prepare_v2(s_db, query_share_src, sizeof(query_share_src), &s_stmt[SHARE_SRC], &tail) );
DB_CHECK( SQLITE_OK == sqlite3_prepare_v2(s_db, query_remove_src, sizeof(query_remove_src), &s_stmt[REMOVE_SRC], &tail) );
DB_CHECK( SQLITE_OK == sqlite3_prepare_v2(s_db, query_get_src, sizeof(query_get_src), &s_stmt[GET_SRC], &tail) );
return 1;
failed:
db_close();
return 0;
}
开发者ID:nexie,项目名称:ed2kd,代码行数:35,代码来源:db_sqlite.c
示例16: parse_url_dbname
MYSQL *db_connect ( const URL *url ) {
MYSQL *sql = NULL;
char * table = NULL;
char * dbname = NULL;
if( (sql = mysql_init( NULL )) == NULL ) {
return NULL;
}
dbname = parse_url_dbname ( url );
table = parse_url_table ( url );
/* The old mysql_connect is no more supported, it seems! */
/* mysql_connect( sql, url->addr, url->usr, url->pwd ); */
if((mysql_real_connect(sql, url->addr, url->usr, url->pwd,
dbname, (unsigned int) url->port, NULL, 0 )) == NULL ) {
if( dbname ) PKI_Free ( dbname );
db_close( sql );
return( NULL );
}
if( dbname ) PKI_Free (dbname);
if( table ) PKI_Free (table);
return( sql );
}
开发者ID:openca,项目名称:libpki,代码行数:28,代码来源:mysql.c
示例17: main
int main() {
table *tab;
field **defs;
if(db_open("db")) {
g_error("db_open");
return 1;
}
tab = table_open("test");
if(!tab) {
g_error("table_open");
return 1;
}
defs = table_get_field_defs(tab);
while(!table_end(tab)) {
}
if(db_close()) {
g_error("db_clos ");
return 1;
}
return 0;
}
开发者ID:BackupTheBerlios,项目名称:geekbase,代码行数:27,代码来源:test.c
示例18: backend_get_depends_requires_thread
static gboolean
backend_get_depends_requires_thread (PkBackend *backend)
{
GList *list = NULL;
sqlite3 *db;
gchar **package_ids;
int deps_type;
gchar **package_id_data;
db = db_open ();
package_ids = pk_backend_get_strv (backend, "package_ids");
deps_type = pk_backend_get_uint (backend, "type");
/* FIXME: support multiple packages */
package_id_data = pk_package_id_split (package_ids[0]);
pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
if (deps_type == DEPS_TYPE_DEPENDS)
list = box_db_repos_get_depends (db, package_id_data[PK_PACKAGE_ID_NAME]);
else if (deps_type == DEPS_TYPE_REQUIRES)
list = box_db_repos_get_requires (db, package_id_data[PK_PACKAGE_ID_NAME]);
add_packages_from_list (backend, list, FALSE);
box_db_repos_package_list_free (list);
db_close (db);
pk_backend_finished (backend);
return TRUE;
}
开发者ID:AlfredArouna,项目名称:packagekit,代码行数:30,代码来源:pk-backend-box.c
示例19: backend_get_packages_thread
static gboolean
backend_get_packages_thread (PkBackend *backend)
{
PkBitfield filters;
GList *list = NULL;
sqlite3 *db = NULL;
filters = pk_backend_get_uint (backend, "filters");
pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
pk_backend_set_percentage (backend, PK_BACKEND_PERCENTAGE_INVALID);
db = db_open();
if ((pk_bitfield_contain (filters, PK_FILTER_ENUM_INSTALLED) &&
pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_INSTALLED)) ||
(!pk_bitfield_contain (filters, PK_FILTER_ENUM_INSTALLED) &&
!pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_INSTALLED))) {
list = box_db_repos_packages_search_all (db, NULL, 0);
} else if (pk_bitfield_contain (filters, PK_FILTER_ENUM_INSTALLED)) {
list = box_db_repos_packages_search_installed (db, NULL, 0);
} else if (pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_INSTALLED)) {
list = box_db_repos_packages_search_available (db, NULL, 0);
}
add_packages_from_list (backend, list, FALSE);
box_db_repos_package_list_free (list);
db_close(db);
pk_backend_finished (backend);
return TRUE;
}
开发者ID:AlfredArouna,项目名称:packagekit,代码行数:33,代码来源:pk-backend-box.c
示例20: destroy
/**
* destroy function of module
*/
void destroy(void)
{
int i;
#ifdef XJ_EXTRA_DEBUG
DBG("XJAB: Unloading module ...\n");
#endif
if(pipes)
{ // close the pipes
for(i = 0; i < nrw; i++)
{
if(pipes[i])
{
close(pipes[i][0]);
close(pipes[i][1]);
}
pkg_free(pipes[i]);
}
pkg_free(pipes);
}
// cleaning MySQL connections
if(db_con != NULL)
{
for(i = 0; i<nrw; i++)
db_close(db_con[i]);
shm_free(db_con);
}
xj_wlist_free(jwl);
DBG("XJAB: Unloaded ...\n");
}
开发者ID:miettal,项目名称:armadillo420_standard,代码行数:33,代码来源:jabber.c
注:本文中的db_close函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论