本文整理汇总了C++中close_db函数的典型用法代码示例。如果您正苦于以下问题:C++ close_db函数的具体用法?C++ close_db怎么用?C++ close_db使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了close_db函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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
示例16: test_db
void test_db(int n)
{
char *dir = Option.dir;
struct db db;
u64 key;
struct lump val;
u64 i;
int rc;
if (1) set_cleanup(cleanup);
create_db(dir);
db = open_db(dir);
for (i = 0; i < n; i++) {
key = randkey();
if (0) val = randlump();
if (1) val = key2lump(key);
//printf("%lld %*s %zd\n", key, val.size, (char *)val.d, strlen(val.d));
insert_db(&db, key, val);
}
if (1)
for (i = 0; i < n + 1; i++) {
rc = next_log(db.r);
if (rc == DONE)
break;
//printf("%lld %s\n", key_log(db.r), (char *)val_log(db.r).d);
}
if (1) merge_db(&db);
close_db(&db);
destroy_db(dir);
}
开发者ID:taysom,项目名称:tau,代码行数:30,代码来源:main.c
示例17: verify_db
void verify_db(dbfile_t *proot){
if(proot->head.magic != MAGIC){
close_dbfile(proot->vfp);
close_db(proot);
exit(1);
}
}
开发者ID:yorickdewid,项目名称:dbtree,代码行数:7,代码来源:main.c
示例18: TestPartNumber
int TestPartNumber(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 data to the keys. */
for (i = 0 ; i < (nparts - 1); i++) {
keys[i].data = &content[(i + 1) * (strlen(content) / nparts)];
keys[i].size = sizeof(char);
}
/* Partition number is less than 2. */
CuAssertTrue(ct, create_db(&dbenv, &dbp, ct) == 0);
CuAssertTrue(ct, dbp->set_partition(dbp, 1, keys, NULL) != 0);
/* Partition number is less than key array length plus 1. */
CuAssertTrue(ct, dbp->set_partition(dbp, nparts - 1, keys, NULL) == 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:hyc,项目名称:BerkeleyDB,代码行数:32,代码来源:TestPartition.c
示例19: allrdatasets
static void
allrdatasets(isc_assertioncallback_t callback) {
isc_result_t result;
dns_dbnode_t *node = NULL;
dns_rdatasetiter_t *iterator = NULL;
result = dns_test_begin(NULL, ISC_FALSE);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
setup_db();
result = dns_db_findnode(db1, dns_rootname, ISC_FALSE, &node);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
isc_assertion_setcallback(callback);
result = dns_db_allrdatasets(db1, node, VERSION(callback), 0,
&iterator);
if (callback != NULL)
atf_tc_fail("dns_db_allrdatasets did not assert");
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
dns_rdatasetiter_destroy(&iterator);
ATF_REQUIRE_EQ(iterator, NULL);
dns_db_detachnode(db1, &node);
ATF_REQUIRE_EQ(node, NULL);
close_db();
dns_test_end();
}
开发者ID:enukane,项目名称:netbsd-src,代码行数:31,代码来源:dbversion_test.c
示例20: sqlite_init
static int
sqlite_init(_SqliteObject *self, PyObject *args, G_GNUC_UNUSED PyObject *kwds)
{
char *path;
int db_type;
GError *err = NULL;
PyObject *ret;
if (!PyArg_ParseTuple(args, "si|:sqlite_init", &path, &db_type))
return -1;
/* Check arguments */
if (db_type < CR_DB_PRIMARY || db_type >= CR_DB_SENTINEL) {
PyErr_SetString(PyExc_ValueError, "Unknown db type");
return -1;
}
/* Free all previous resources when reinitialization */
ret = close_db(self, NULL);
Py_XDECREF(ret);
if (ret == NULL) {
// Error encountered!
return -1;
}
/* Init */
self->db = cr_db_open(path, db_type, &err);
if (err) {
nice_exception(&err, NULL);
return -1;
}
return 0;
}
开发者ID:Conan-Kudo,项目名称:createrepo_c,代码行数:34,代码来源:sqlite-py.c
注:本文中的close_db函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论