本文整理汇总了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;
}
}
示例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;
}
}
}
}
示例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;
}
}
示例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);
}
示例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);
}
示例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;
}
示例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();
}
示例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;
}
示例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;
}
示例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;
}
示例11: close_all
void close_all() {
o_log(DEBUGM, "|Finished");
close_db ();
free(BASE_DIR);
free(LOG_DIR);
}
示例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();
}
示例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();
}
示例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();
}
示例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);
}