文档章节

SQLite3 数据库指针传递

sfyumi
 sfyumi
发布于 2014/06/04 21:57
字数 207
阅读 216
收藏 2

main 函数

int main() {
    sqlite *pDb;
    openDataBase(pDb);
    return 0
}

错误的openDataBase() 函数

int OpenDataBase(sqlite3 *pDb_f) {
    int rc;
    rc = sqlite3_open("sqlite.db", &pDb_f);
    if (rc == SQLITE_OK) {
        // success!  return 0
        return 0;
    } else {
        // fail!     return 1
        return 1;
    }
}


main 函数

int main() {
    sqlite *pDb;
    openDataBase(&pDb);
    return 0
}

正确的 openDataBase() 函数

int OpenDataBase(sqlite3 **ppDb_f) {
    int rc;
    rc = sqlite3_open("sqlite.db", ppD_f);
    if (rc == SQLITE_OK) {
        // success!  return 0
        return 0;
    } else {
        // fail!     return 1
        return 1;
    }
}

错误分析:

在原来的 openDataBase() 函数中,pDb 传递给形参 pDb_f,openDataBase() 只是对形参 pDb_f 进行了修改,pDB 并没有被改变。改正之后,pDb 将自己的地址传递给形参 ppDb_f,openDataBase() 函数对 ppDb_f 的改变将直接影响 pDb。

© 著作权归作者所有

共有 人打赏支持
sfyumi
粉丝 4
博文 12
码字总数 2324
作品 0
海淀
程序员
私信 提问
linux c++ sqlite3

1,基本信息: 1)#include <sqlite3.h> 2)int rc = sqlite3open(dbname, &db);//不存在会创建文件 3)查询后直接返回结果 而不是回调 int sqlite3gettable (sqlite3 , // 打开的数据库对象指针...

Carlyle_Lee
2015/03/16
0
0
SQLite3 API编程手册

前序: Sqlite3 的确很好用。小巧、速度快。但是因为非微软的产品,帮助文档总觉得不够。这些天再次研究它,又有一些收获,这里把我对 sqlite3 的研究列出来,以备忘记。 这 里要注明,我是一...

30以后
2014/04/01
0
0
在 SQLite3 中使用回调函数

回调函数的格式如下: int sqlitecallback( void pv, / 由 sqlite3exec() 的第四个参数传递而来 / int argc, / 表的列数 / char argv, / 指向查询结果的指针数组, 可以由 sqlite3columntext(...

阳光飞鸟
2015/03/13
0
0
使用iOS原生sqlite3框架对sqlite数据库进行操作

使用iOS原生sqlite3框架对sqlite数据库进行操作 一、引言 sqlite数据库是一种小型数据库,由于其小巧与简洁,在移动开发领域应用深广,sqlite数据库有一套完备的sqlite语句进行管理操作,一些...

珲少
2016/01/13
2.7K
4
swift sqlite 使用

导入 libsqlite3.0.tdb 创建 Header.h 并配置到 Object-C Bridging Header 在header.h中导入sqlite #import "SQLite3.h" 然后就可以使用 sqlite 数据库了 // // ViewController.swift // im......

asjoker
2016/01/11
156
0

没有更多内容

加载失败,请刷新页面

加载更多

3分钟总结Mybatis别名

1.系统内置别名: 把类型全小写(resultType/paramType) 2.给某个类起别名 2.1 alias=”自定义” <typeAliases> <typeAlias type="com.bjsxt.pojo.People" alias="peo"/> </typeAli......

KingFightingAn
29分钟前
1
0
JAVA设计模式之模板方法模式和建造者模式

一、前期回顾 上一篇《Java 设计模式之工厂方法模式与抽象工厂模式》介绍了三种工厂模式,分别是工厂方法模式,简单工厂方法模式,抽象工厂模式,文中详细根据实际场景介绍了三种模式的定义,...

木木匠
今天
7
0
C中的宏的使用(宏嵌套/宏展开/可变参数宏)

基本原则: 在展开当前宏函数时,如果形参有#或##则不进行宏参数的展开,否则先展开宏参数,再展开当前宏。 #是在定义两边加上双引号 #define _TOSTR(s) #sprintf(_TOSTR(test ABC))pr...

SamXIAO
今天
4
0
SpringBoot 整合异步调用方法

1. 在 SpringBoot 主类上使用 @EnableAsync 注解,开启异步调用功能 package com.codingos.springbootdemo;import org.springframework.boot.SpringApplication;import org.springfra......

北漂的我
今天
3
0
0015-如何使用Sentry管理Hive外部表权限

1.文档编写目的 本文档主要讲述如何使用Sentry对Hive外部表权限管理,并基于以下假设: 1.操作系统版本:RedHat6.5 2.CM版本:CM 5.11.1 3.集群已启用Kerberos和Sentry 4.采用具有sudo权限的...

Hadoop实操
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部