当前位置: 首页>>代码示例>>C++>>正文


C++ close_db函数代码示例

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


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

示例1: inserir

int inserir(cliente c) {

    char sql_insert = "INSERT INTO clientes VALUES(?, ?, ?, ?, ?, ?, ?, ?);";
    int r = connect_db();
    if (r != SQLITE_OK) {

        fprintf(stderr, "Erro ao conectar com o banco de dados!! %s\n", sqlite3_errmsg(conn));
        close_db();
        return 0;
    } else {

        msg = sqlite3_exec(conn, sql_insert, callback, 0, &errMsg);
        if (msg != SQLITE_OK) {

            fprintf(stderr, "Não foi possivel executar comando!! %s\n", errMsg);
            close_db();

            return 0;
        } else {
            sqlite3_bind_null(stmt, 1);
            sqlite3_bind_int(stmt, 2, c.id_cliente);
            sqlite3_bind_text(stmt, 3, c.nome_cliente, strlen(c.nome_cliente), 0);
            sqlite3_bind_text(stmt, 4, c.localizacao, strlen(c.localizacao), 0);
            sqlite3_bind_text(stmt, 5, c.email, strlen(c.email), 0);
            sqlite3_bind_text(stmt, 6, c.aniversario, strlen(c.aniversario), 0);
            sqlite3_bind_text(stmt, 7, c.link, strlen(c.link), 0);
        }
        close_db();
        return 1;
    }
}
开发者ID:eduardoValle,项目名称:xphere,代码行数:31,代码来源:banco.c

示例2: criar_tabelas

/**
 * Esse método cria as tabelas de clientes e log_usuários caso elas não existam.
 * @return 
 */
int criar_tabelas() {

    char sql_cliente = "CREATE TABLE IF NOT EXISTS clientes (id INTEGER PRIMARY KEY ASC NOT NULL, id_cliente INTEGER, nome_cliente VARCHAR(100), localizacao VARCHAR[255], email VARCHAR[50], aniversario VARCHAR[12], link VARCHAR[255]);";
    char sql_log_usuario = "CREATE TABLE IF NOT EXISTS log_usuario (id INTEGER NOT NULL PRIMARY KEY, created_at DATETIME NOT NULL, fk_id INTEGER NOT NULL, FOREIGN KEY (fk_id) REFERENCES cliente(id));";

    int resposta = connectar_banco();
    if (resposta != SQLITE_OK) {

        fprintf(stdout, "Não foi possivel conectar ao banco de dados: %s\n", sqlite3_errmsg(conn));
        close_db();
        return 0;
    } else {

        msg = sqlite3_exec(conn, sql_cliente, callback, 0, 0);
        if (msg != SQLITE_OK) {
            fprintf(stdout, "Não foi posível criar a tabela clientes: %s\n", sqlite3_errmsg(conn));
            close_db();
            return 0;
        } else {
            msg = sqlite3_exec(conn, sql_log_usuario, callback, 0, 0);
            if (msg != SQLITE_OK) {
                fprintf(stdout, "Não foi posível criar a tabela log_usuário: %s\n", sqlite3_errmsg(conn));
                close_db();
                return 0;
            } else {
                close_db();
                return 1;
            }
        }
    }
}
开发者ID:eduardoValle,项目名称:xphere,代码行数:35,代码来源:banco.c

示例3: atualizar

int atualizar(cliente c) {
    sql_update = "UPDATE clientes SET nome_cliente = ?, localizacao = ?, email = ?, aniversario = ?, link = ? WHERE id_cliente = ?;";

    int r = connect_db();
    if (r != SQLITE_OK) {

        fprintf(stderr, "Erro ao conectar com o banco de dados!! %s\n", sqlite3_errmsg(conn));
        close_db();
        return 0;
    } else {

        msg = sqlite3_exec(conn, sql_update, callback, 0, &errMsg);
        if (msg != SQLITE_OK) {
            fprintf(stderr, "Não foi possivel executar comando!! %s\n", errMsg);
            close_db();
            return 0;
        } else {
            sqlite3_bind_text(stmt, 1, c.nome_cliente, strlen(c.nome_cliente), 0);
            sqlite3_bind_text(stmt, 2, c.localizacao, strlen(c.localizacao), 0);
            sqlite3_bind_text(stmt, 3, c.email, strlen(c.email), 0);
            sqlite3_bind_text(stmt, 4, c.aniversario, strlen(c.aniversario), 0);
            sqlite3_bind_text(stmt, 5, c.link, strlen(c.link), 0);
            sqlite3_bind_int(stmt, 6, c.id_cliente);
        }
        close_db();
        return 1;
    }
}
开发者ID:eduardoValle,项目名称:xphere,代码行数:28,代码来源:banco.c

示例4: TestPartOneKeyNoData

int TestPartOneKeyNoData(CuTest *ct) {
	DB_ENV *dbenv;
	DB *dbp;
	/* Allocate the memory from stack. */
	DBT keys[4];
	u_int32_t i;

	dbenv = NULL;
	dbp = NULL;
	nparts = 5;

	/* Do not assign any data to the first DBT. */
	memset(&keys[0], 0, sizeof(DBT));
	for (i = 1 ; i < (nparts - 1); i++) {
		memset(&keys[i], 0, sizeof(DBT));
		keys[i].data = &content[(i + 1) * (strlen(content) / nparts)];
		keys[i].size = sizeof(char);
	}

	/* Do not set any database flags. */
	CuAssertTrue(ct, create_db(&dbenv, &dbp, 0, ct) == 0);
	/*
	 * Verify that before the database is opened, DB->set_partition can
	 * be called multiple times regardless of its return code.
	 */
	keys[0].flags = DB_DBT_MALLOC;
	CuAssertTrue(ct, dbp->set_partition(dbp, nparts, keys, NULL) != 0);
	keys[0].flags = 0;
	CuAssertTrue(ct, dbp->set_partition(dbp, nparts, keys, NULL) == 0);
	CuAssertTrue(ct, dbp->set_partition(dbp, nparts, keys, NULL) == 0);
	CuAssertTrue(ct, dbp->open(dbp, NULL,
	    "test.db", NULL, DB_BTREE, DB_CREATE, 0644) != 0);
	CuAssertTrue(ct, close_db(dbenv, dbp, ct) == 0);
	fclose(errfp);
	errfp = NULL;

	/* Set DB_DUPSORT flags. */
	setup_envdir(TEST_ENV, 1);
	errfp = fopen("TESTDIR/errfile", "w");
	CuAssertTrue(ct, create_db(&dbenv, &dbp, 0, ct) == 0);
	CuAssertTrue(ct, dbp->set_partition(dbp, nparts, keys, NULL) == 0);
	CuAssertTrue(ct, dbp->set_flags(dbp, DB_DUPSORT) == 0);
	CuAssertTrue(ct, dbp->open(dbp, NULL,
	    "test.db", NULL, DB_BTREE, DB_CREATE, 0644) != 0);
	CuAssertTrue(ct, close_db(dbenv, dbp, ct) == 0);
	fclose(errfp);
	errfp = NULL;

	/* Set DB_DUP flags. */
	setup_envdir(TEST_ENV, 1);
	CuAssertTrue(ct, create_db(&dbenv, &dbp, 0, ct) == 0);
	CuAssertTrue(ct, dbp->set_partition(dbp, nparts, keys, NULL) == 0);
	CuAssertTrue(ct, dbp->set_flags(dbp, DB_DUP) == 0);
	CuAssertTrue(ct, dbp->open(dbp, NULL,
	    "test.db", NULL, DB_BTREE, DB_CREATE, 0644) == 0);
	CuAssertTrue(ct, put_data(dbp) == 0);
	CuAssertTrue(ct, close_db(dbenv, dbp, ct) == 0);
	return (0);
}
开发者ID:tux-mind,项目名称:platform_external_bdb,代码行数:59,代码来源:TestPartition.c

示例5: TestPartDuplicatedKey

int TestPartDuplicatedKey(CuTest *ct) {
	DB_ENV *dbenv;
	DB *dbp;
	DBT *keys;
	u_int32_t i;

	dbenv = NULL;
	dbp = NULL;
	keys = NULL;
	nparts = 5;

	CuAssertTrue(ct, (keys = malloc((nparts - 1) * sizeof(DBT))) != NULL);
	memset(keys, 0, (nparts - 1) * sizeof(DBT));
	/* Assign the same data to the first 2 DBTs. */
	for (i = 0 ; i < (nparts - 1); i++) {
		if (i < 2)
			keys[i].data = &content[strlen(content) / nparts];
		else
			keys[i].data = &content[(i + 1) *
			    (strlen(content) / nparts)];
		keys[i].size = sizeof(char);
	}

	/* Do not set any database flags. */
	CuAssertTrue(ct, create_db(&dbenv, &dbp, 0, ct) == 0);
	CuAssertTrue(ct, dbp->set_partition(dbp, nparts, keys, NULL) == 0);
	CuAssertTrue(ct, dbp->open(dbp, NULL,
	    "test.db", NULL, DB_BTREE, DB_CREATE, 0644) != 0);
	CuAssertTrue(ct, close_db(dbenv, dbp, ct) == 0);
	fclose(errfp);
	errfp = NULL;

	/* Set DB_DUPSORT flags. */
	setup_envdir(TEST_ENV, 1);
	errfp = fopen("TESTDIR/errfile", "w");
	CuAssertTrue(ct, create_db(&dbenv, &dbp, 0, ct) == 0);
	CuAssertTrue(ct, dbp->set_partition(dbp, nparts, keys, NULL) == 0);
	CuAssertTrue(ct, dbp->set_flags(dbp, DB_DUPSORT) == 0);
	CuAssertTrue(ct, dbp->open(dbp, NULL,
	    "test.db", NULL, DB_BTREE, DB_CREATE, 0644) != 0);
	CuAssertTrue(ct, close_db(dbenv, dbp, ct) == 0);
	fclose(errfp);
	errfp = NULL;

	/* Set DB_DUP flags. */
	setup_envdir(TEST_ENV, 1);
	CuAssertTrue(ct, create_db(&dbenv, &dbp, 0, ct) == 0);
	CuAssertTrue(ct, dbp->set_partition(dbp, nparts, keys, NULL) == 0);
	CuAssertTrue(ct, dbp->set_flags(dbp, DB_DUP) == 0);
	CuAssertTrue(ct, dbp->open(dbp, NULL,
	    "test.db", NULL, DB_BTREE, DB_CREATE, 0644) == 0);
	CuAssertTrue(ct, put_data(dbp) == 0);
	CuAssertTrue(ct, close_db(dbenv, dbp, ct) == 0);
	free(keys);
	return (0);
}
开发者ID:tux-mind,项目名称:platform_external_bdb,代码行数:56,代码来源:TestPartition.c

示例6: sync_CopyToPilot

/***********************************************************************
 *
 * Function:    sync_CopyToPilot
 *
 * Summary:     Copy all desktop records to the Palm
 *
 * Parameters:  None
 *
 * Returns:     0 on success, non-zero otherwise
 *
 ***********************************************************************/
int sync_CopyToPilot(SyncHandler * sh)
{
	int 	dbhandle,
		slow 	= 0,	
		result 	= 0;
	DesktopRecord *drecord = NULL;

	result = open_db(sh, &dbhandle);
	if (result < 0)
		goto cleanup;

	result = sh->Pre(sh, dbhandle, &slow);
	if (result < 0)
		goto cleanup;

	result = dlp_DeleteRecord(sh->sd, dbhandle, 1, 0);
	if (result < 0)
		goto cleanup;


	while (sh->ForEach(sh, &drecord) == 0 && drecord) {
		result =
		    store_record_on_pilot(sh, dbhandle, drecord, BOTH);
		if (result < 0)
			goto cleanup;
	}

	result = sh->Post(sh, dbhandle);

      cleanup:
	close_db(sh, dbhandle);

	return result;
}
开发者ID:jichu4n,项目名称:pilot-link,代码行数:45,代码来源:sync.c

示例7: find

static void
find(isc_assertioncallback_t callback) {
	isc_result_t result;
	dns_rdataset_t rdataset;
	dns_fixedname_t fixed;

	result = dns_test_begin(NULL, ISC_FALSE);
	ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);

	setup_db();

	dns_rdataset_init(&rdataset);
	dns_fixedname_init(&fixed);

	isc_assertion_setcallback(callback);
	result = dns_db_find(db1, dns_rootname, VERSION(callback),
			     dns_rdatatype_soa, 0, 0, NULL,
			     dns_fixedname_name(&fixed), &rdataset, NULL);
	if (callback != NULL)
		atf_tc_fail("dns_db_find did not assert");
	ATF_REQUIRE_EQ(result, DNS_R_NXDOMAIN);

	close_db();

	dns_test_end();
}
开发者ID:enukane,项目名称:netbsd-src,代码行数:26,代码来源:dbversion_test.c

示例8: main

int main(int argc, char **argv) {
    GapIO *io;
    char *project, *version;
    int status;
    int argn;

    if (argc < 2) {
	usage();
    }

    for (argn = 1; argn < argc; argn++) {
	project = argv[argn];
	version = strchr(project, '.');
	if (!version) {
	    fprintf(stderr, "Malformed project name\n");
	    return 1;
	}
	*version++ = 0;

	printf("Opening project '%s' version '%s'\n", project, version);
	io = open_db(project, version, &status, 0, 1);
	if (!io) {
	    fprintf(stderr, "Couldn't open database\n");
	    return 1;
	}

	read_size_dist(io);
	
	close_db(io);
    }

    return 0;
}
开发者ID:nathanhaigh,项目名称:staden-trunk,代码行数:33,代码来源:read_size_dist.c

示例9: main

int main(int argc, char *argv[])
{
    int i, r;

    i = proc_args(argc, argv);

    if (!args.subcmd)
        do_usage();

    if (args.dbfile)
    {
        if (args.needwrite)
        {
            fprintf(stderr, "you can't write to a database specified with -d.\n");
            return 1;
        }
        else
            r = init_named_db(args.dbfile);
    }
    else
        r = init_db(args.needwrite);

    if (r)
    {
        fprintf(stderr, "can't open database.\n");
        return 1;
    }

    i++; /* eat argv[0] */
    i = args.subcmd(argc - i, argv + i);

    close_db();

    return i;
}
开发者ID:Ceiu,项目名称:hyperspace-asss,代码行数:35,代码来源:dbtool.c

示例10: sync_MergeToPilot

/***********************************************************************
 *
 * Function:    sync_MergeToPilot
 *
 * Summary:     Synchronize the desktop records to the pilot, but do
 *		not alter the desktop records
 *
 * Parameters:  None
 *
 * Returns:     0 on success, non-zero otherwise
 *
 ***********************************************************************/
int sync_MergeToPilot(SyncHandler * sh)
{
	int 	dbhandle,
		slow 	= 0,
		result 	= 0;

	result = open_db(sh, &dbhandle);
	if (result < 0)
		goto cleanup;

	result = sh->Pre(sh, dbhandle, &slow);
	if (result < 0)
		goto cleanup;

	if (!slow) {
		sync_MergeToPilot_fast(sh, dbhandle, PILOT);
		if (result < 0)
			goto cleanup;
	} else {
		sync_MergeToPilot_slow(sh, dbhandle, PILOT);
		if (result < 0)
			goto cleanup;
	}

	result = sh->Post(sh, dbhandle);

      cleanup:
	close_db(sh, dbhandle);

	return result;
}
开发者ID:jichu4n,项目名称:pilot-link,代码行数:43,代码来源:sync.c

示例11: close_all

void close_all() {

  o_log(DEBUGM, "|Finished");
  close_db ();
  free(BASE_DIR);
  free(LOG_DIR);
}
开发者ID:Rventric,项目名称:opendias,代码行数:7,代码来源:opendiasconfig.c

示例12: deleterdataset

static void
deleterdataset(isc_assertioncallback_t callback) {
	isc_result_t result;
	dns_rdataset_t rdataset;
	dns_fixedname_t fixed;
	dns_dbnode_t *node = NULL;

	result = dns_test_begin(NULL, ISC_FALSE);
	ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);

	setup_db();

	dns_rdataset_init(&rdataset);
	dns_fixedname_init(&fixed);

	result = dns_db_findnode(db1, dns_rootname, ISC_FALSE, &node);
	ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);

	isc_assertion_setcallback(callback);
	result = dns_db_deleterdataset(db1, node, VERSION(callback),
				       dns_rdatatype_soa, 0);
	if (callback != NULL)
		atf_tc_fail("dns_db_deleterdataset did not assert");
	ATF_REQUIRE_EQ(result, DNS_R_UNCHANGED);

	dns_db_detachnode(db1, &node);
	ATF_REQUIRE_EQ(node, NULL);

	close_db();

	dns_test_end();
}
开发者ID:enukane,项目名称:netbsd-src,代码行数:32,代码来源:dbversion_test.c

示例13: getnsec3parameters

static void
getnsec3parameters(isc_assertioncallback_t callback) {
	isc_result_t result;
	dns_hash_t hash;
	isc_uint8_t flags;
	isc_uint16_t iterations;
	unsigned char salt[DNS_NSEC3_SALTSIZE];
	size_t salt_length = sizeof(salt);

	result = dns_test_begin(NULL, ISC_FALSE);
	ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);

	setup_db();

	isc_assertion_setcallback(callback);
	result = dns_db_getnsec3parameters(db1, VERSION(callback), &hash,
					   &flags, &iterations, salt,
					   &salt_length);
	if (callback != NULL)
		atf_tc_fail("dns_db_dump did not assert");
	ATF_REQUIRE_EQ(result, ISC_R_NOTFOUND);

	close_db();

	dns_test_end();
}
开发者ID:enukane,项目名称:netbsd-src,代码行数:26,代码来源:dbversion_test.c

示例14: dump

static void
dump(isc_assertioncallback_t callback) {
	isc_result_t result;
	FILE *f = NULL;

	result = dns_test_begin(NULL, ISC_FALSE);
	ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);

	setup_db();

	result = isc_file_openunique(tempname, &f);
	fclose(f);
	ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);

	isc_assertion_setcallback(callback);
	result = dns_db_dump(db1, VERSION(callback), tempname);
	(void)unlink(tempname);
	if (callback != NULL)
		atf_tc_fail("dns_db_dump did not assert");
	ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);

	close_db();

	dns_test_end();
}
开发者ID:enukane,项目名称:netbsd-src,代码行数:25,代码来源:dbversion_test.c

示例15: test_db_connection

int test_db_connection(char *database_name){
	PGconn     *conn;

	conn = connect_db(database_name);
	if (PQstatus(conn) != CONNECTION_OK)
        {
                close_db(conn);
                return(1);
        }
    else {
        printf("Connection to database successful! Will use database for storage of data.\n");
    }

    close_db(conn);
	return(0);
}
开发者ID:samop,项目名称:Polar-Flowlink-linux,代码行数:16,代码来源:database.c


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