C语言使用sqlite3数据库【第一节】
来源:互联网 发布:华为面试常见算法题 编辑:程序博客网 时间:2024/06/01 15:25
首先我们需要准备工具和文件!
工具:VS2015(最好是VS2010旗舰版)PS:在网上有提供下载,VS2010有破解版,VS2015官方有社区免费版,所以工具在这里我就不解释了。
文件:我们要访问sqlite3官方网站,下载源码包(sqlite3的源码)
网址:https://www.sqlite.org/download.html
大概就是这个样子,我们下载这个图片上指示的.zip文件后解压如下图的文件:
然后我们新建立一个C语言程序(win32控制台程序)→空项目:
因为编译器的影响,所以我们不能只加载现有项文件,而是第一步要把sqlite3.h以及sqlite3.c文件放置到我们项目的文件夹里:
然后再加载现有项,有的人问为什么要加载现有项呢?那我问你为什么我们要输入输出的时候还要#include<stdio.h>呢?
答案就是:我们用到了这个库!相反的我们要操作sqlite3数据库就要用到这个sqlite3.h的头文件作为模块来用。PS:本人酷爱易语言和VB所以在这里我就把sqlite3.h当做模块了。但其实sqlite3.h利用的是sqlite3.c所以我们的这个源码必须要载入进来。
如图所示步骤:
右键点击添加现有项,分别把sqlite3.h添加到头文件 AND sqlite3.c到源文件中!
在这里我们说一下,因为我们只是引用了sqlite3的源码以及头文件,相当于包含了sqlite3的方法库!但是我们还是需要新建一个.c文件作为程序文件!来演示我们的教程!
# include <stdio.h>
# include "sqlite3.h"
# include <stdlib.h>
int main(void)
{
sqlite3 *db;//建立一个sqlite3类型的指针db!可以当做数据库的操作句柄。
//没有这个句柄那么所有的sqlite3函数都没有任何实际意义
int Feedback = sqlite3_open("sqlite3.db", &db);
//打开指定的数据库文件,如果不存在将创建一个同名的数据库文件,并返回给db句柄值。
if( Feedback != SQLITE_OK )
{
printf("没有打开名为:sqlite3.db 的数据库\n 原因是:%s\n", sqlite3_errmsg(db));
system("pause");
//sqlite3_errmsg()是返回错误后的提示信息!参数是数据库的操作句柄。
sqlite3_close(db);
//sqlite3_close()是关闭指定数据库句柄的数据库!
exit(-1);//非正常退出!
}
else printf("成功打开或成功创建 名为:sqlite3.db !\n");
system("pause");
sqlite3_close(db); //关闭数据库
return 0;
}
上述是源代码!大家可以参考一下!并且我告诉大家sqlite3常用的三个函数。
sqlite3_open()
sqlite3_close()
sqlite3_exec ()
这三个大家可以自己去网上找一下!也可以等我们的文章更新!让我来为大家讲解。
也希望大家进入我的编程讨论QQ群:475504221
- C语言使用sqlite3数据库【第一节】
- C语言使用sqlite3数据库【第一节】
- C语言使用sqlite3数据库【第一节】_1
- C语言使用sqlite3数据库【第三节】
- C语言使用sqlite3数据库【第三节】
- SQLITE3,C语言使用
- SQLITE3,C语言使用
- SQLITE3,C语言使用
- c语言 sqlite3数据库模块
- 使用数据库sqlite3 C语言实现登陆注册的功能
- C语言使用sqlite3数据库【第三节】_0
- C语言使用sqlite3数据库【第三节】_1
- C语言编程之数据库 -- sqlite3
- C语言教程:第一节
- SQLITE3,C语言使用(转)
- SQLITE3,C语言使用(转)
- C linux sqlite3 数据库的使用
- [C++]轻量级数据库Sqlite3基础使用
- 代码易错的例子
- 所有情况下全排列的实现
- Android Dialog与软键盘的正确打开方式
- OkHttp的封装及使用方法
- 第16天(就业班) 数据约束、数据库设计、关联查询、存储过程、权限和备份
- C语言使用sqlite3数据库【第一节】
- 友盟第三方登录
- 如何在spring框架中获取request对象
- tcpdump抓包规则常用命令
- [C#]Int32.TryParse()、int.Parse和Convert.ToInt32的区别
- makefile不同的编译器生成多个中间文件
- linux学习笔记(一) 源码和编译
- 基于Elasticsearch实现搜索建议
- bzoj 3732: Network (最小生成树+LCA)