Home > Database > Mysql Tutorial > sqlite学习笔记7:C/C++中使用sqlite之打开数据库

sqlite学习笔记7:C/C++中使用sqlite之打开数据库

WBOY
Release: 2016-06-07 15:59:47
Original
1355 people have browsed it

数据库的基本内容前面都已经说得差不多了,接下看看怎样在C语言中使用sqlite。 一 接口 sqlite3_open(const char *filename, sqlite3 **ppDb) 打开数据库,如果数据库不存在则新建一个数据库,并打开 sqlite3_close(sqlite3*) 关闭数据库,如果关闭之前还存

数据库的基本内容前面都已经说得差不多了,接下看看怎样在C语言中使用sqlite。

一 接口

sqlite3_open(const char *filename, sqlite3 **ppDb)
Copy after login
打开数据库,如果数据库不存在则新建一个数据库,并打开
sqlite3_close(sqlite3*)
Copy after login
关闭数据库,如果关闭之前还存在没有执行完的语句,将会返回SQLITE_BUSY

二 实例

1 目录结构

Projects{

main.c// 代码所在文件

sqlite{// 官网下载下来的sqlite压缩包解压之后的文件目录

shell.c// 本文件在项目中实际上是用不上的,这个文件是用来生成sqlite命令工具的,具体可以参考:sqlite学习笔记1

sqlite3.c

sqlite3.h

sqlite3ext.h

}

}

2 源代码

// main.c
#include <stdio.h>
#include <stdlib.h>
#include "sqlite/sqlite3.h"

#define DB_NAME "hanfeng.db"

int main()
{
    sqlite3* db = NULL ;
    char* msg = NULL ;
    int ret = 0 ;
    
    ret = sqlite3_open(DB_NAME, &db);
    if (ret){
        fprintf(stderr, "error open datebase:%s\n.", DB_NAME) ;
        exit(0) ;
    }
    else{
        fprintf(stderr, "successfully open datebase.\n") ;
    }
    sqlite3_close(db) ;
    return 0;
}
Copy after login
3 编译运行

运行有两种方式,基于前面的笔记,我们并没有配置sqlite的环境,仅仅是下载解压得到列一个文件夹sqlite,因此,需要用如下命令:

gcc -o main main.c ./sqlite/sqlite3.c -lpthread -ldl
Copy after login
如果下载配置安装了sqlite,则需要将上面的头文件包含改为:
#include <sqlite3.h>
Copy after login
然后执行命令:
gcc -o main main.c  -lsqlite3
Copy after login
命令执行完成之后会生成一个叫main的可执行文件,输入:
./main
Copy after login
既可以看到结果。

#在编译时使用g++会报错: error: invalid conversion from ‘const void*’ to ‘const char*’

g++貌似对类型转换要求更为严格,不支持这样的转换。

路过的大侠,知道怎样用g++编译的,请指教......

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template