> 데이터 베이스 > MySQL 튜토리얼 > sqlite学习笔记7:C/C++中使用sqlite之打开数据库

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

WBOY
풀어 주다: 2016-06-07 15:59:47
원래의
1356명이 탐색했습니다.

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

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

一 接口

sqlite3_open(const char *filename, sqlite3 **ppDb)
로그인 후 복사
打开数据库,如果数据库不存在则新建一个数据库,并打开
sqlite3_close(sqlite3*)
로그인 후 복사
关闭数据库,如果关闭之前还存在没有执行完的语句,将会返回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;
}
로그인 후 복사
3 编译运行

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

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

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

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

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿