sqlite在c++中的使用方法
1.需要下载的文件 http://pan.baidu.com/s/1c06NpzM
2.执行文件shell的编译
3.在c++中如何使用
- #include <stdio.h>
- #include <sqlite3.h>
- static int _sql_callback(void *notused, int argc, char **argv, char **szColName)
- {
- int i = ;
- printf("notused:0x%x, argc:%d\n", notused, argc);
- for (i = ; i < argc; i++)
- {
- printf("%s = %s\n", szColName[i], argv[i] == ? "NULL" : argv[i]);
- }
- printf("\n");
- return ;
- }
- /*
- *
- */
- int main(int argc, char** argv)
- {
- const char *sSQL1 = "create table users(userid varchar(20) PRIMARY KEY, age int, birthday datetime);";
- const char *sSQL2 = "insert into users values('wang', 20, '1989-5-4');";
- const char *sSQL3 = "select * from users;";
- sqlite3 *db = ;
- char *pErrMsg = ;
- int ret = ;
- //连接数据库
- ret = sqlite3_open("./test.db", &db);
- if (ret != SQLITE_OK)
- {
- fprintf(stderr, "无法打开数据库:%s\n", sqlite3_errmsg(db));
- sqlite3_close(db);
- return ;
- }
- printf("数据库连接成功\n");
- //执行建表SQL
- ret = sqlite3_exec(db, sSQL1, _sql_callback, , &pErrMsg);
- if (ret != SQLITE_OK)
- {
- fprintf(stderr, "SQL create error: %s\n", pErrMsg);
- sqlite3_free(pErrMsg); //这个要的哦,要不然会内存泄露的哦!!!
- sqlite3_close(db);
- return ;
- }
- printf("数据库建表成功!!\n");
- //执行插入数据
- ret = sqlite3_exec(db, sSQL2, _sql_callback, , &pErrMsg);
- if (ret != SQLITE_OK)
- {
- fprintf(stderr, "SQL insert error: %s\n", pErrMsg);
- sqlite3_free(pErrMsg); //这个要的哦,要不然会内存泄露的哦!!!
- sqlite3_close(db);
- return ;
- }
- printf("数据库插入数据成功!\n");
- //执行查询操作
- ret = sqlite3_exec(db, sSQL3, _sql_callback, , &pErrMsg);
- if (ret != SQLITE_OK)
- {
- fprintf(stderr, "SQL error: %s\n", pErrMsg);
- sqlite3_free(pErrMsg);
- sqlite3_close(db);
- return ;
- }
- printf("数据库查询成功!!\n");
- //关闭数据库
- sqlite3_close(db);
- db = ;
- return ;
- }
http://blog.csdn.net/wzzfeitian/article/details/7993686
sqlite在c++中的使用方法的更多相关文章
- 【SQLite】 C#中操作SQlite
简介 SQLite是轻量级数据库,具体的介绍请参考官网(SQLite官网).在WinForm的项目中需要采用独立的数据库访问,可在断网单机上使用,所以选择了SQLite! 使用 主要针对C#项目(Wi ...
- Django 资源 与 知识 Django中自建脚本并使用Django环境 model中的save()方法说明 filter()用法
Django 资源 与 知识 Django中自建脚本并使用Django环境 model中的save()方法说明 filter()用法 2018/11/06 Chenxin 资料说明 Django基础入 ...
- 【问题】Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数
[问题]Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数. [解决]直接对变量加引号,如: <button onclick="deleteProduct('@ ...
- java 执行 jar 包中的 main 方法
java 执行 jar 包中的 main 方法 通过 OneJar 或 Maven 打包后 jar 文件,用命令: java -jar ****.jar执行后总是运行指定的主方法,如果 jar 中有多 ...
- 为什么不能在init和dealloc函数中使用accessor方法
前言 为什么不要在init和dealloc方法中调用getter和setter:Apple在Mac与iOS中关于内存管理的开发文档中,有一节的题目为:"Don'tUse Accessor M ...
- C#中DataTable中的Compute方法使用收集
原文: C#中DataTable中的Compute方法使用收集 Compute函数的参数就两个:Expression,和Filter. Expresstion是计算表达式,关于Expression的详 ...
- C#中的扩展方法
扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用. 以上是msdn官网对扩展方 ...
- C#中的匿名方法
C#中的匿名方法是在C#2.0引入的,它终结了C#2.0之前版本声明委托的唯一方法是使用命名方法的时代.虽然在 C# 3.0 及更高版本中,Lambda 表达式取代了匿名方法,作为编写内联代码的首选方 ...
- Java中是否可以调用一个类中的main方法?
前几天面试的时候,被问到在Java中是否可以调用一个类中的main方法?回来测试了下,答案是可以!代码如下: main1中调用main2的主方法 package org.fiu.test; impor ...
随机推荐
- NSBundle 类
NSBundle NSBundle继承于NSObject,NSBundle是一个程序包,其中包含了程序会使用的资源(图像,声音,编辑好的代码,nib文件). 一. 初始化NSBundle + (ins ...
- Spark学习计划
本文档综合现在市面上的各类spark书籍,概括spark技术核心,"要事第一"原则,只抓核心,才能领悟实质. spark核心分类: 1.环境配置相关(编译.搭建.配置.启动脚本) ...
- 9、Khala实现0.01版QQ
这次来个有界面的. 登录界面: 主界面: 1.服务端开发: 只需创建一个类ChatType(./examples/HelloKhala/src/ChatType.cpp),在该类型中,核心为创建的两个 ...
- Delphi线程同步
总结一下Windows常用的几种线程同步技术. 1.Critical Sections(临界段),源代码中如果有不能由两个或两个以上线程同时执行的部分,可以用临界段来使这部分的代码执行串行化.它只能在 ...
- MySql学习之数据库管理
一步一步学习mysql数据,首先是mysql数据的管理操作. 1. 创建数据库 命令格式:create database [if not exists] database_name. 实际的使用过程中 ...
- Android中对手机文件进行读写
参考张泽华视频 (一)读写手机内存卡中的文件 对手机中的文件进行读写操作,或者新增一个文件时,可直接使用openFileOutput / openFileInput 得到文件的输出.输入流. Fi ...
- django获取某一个字段的列表,values/values_list/flat
class Building(models.Model): corporation = models.ForeignKey('company.Corporation', verbose_name=u' ...
- 手把手教你学习FPGA系列视频教程_救护车鸣笛声
本套教程主要面对FPGA初学者,本次DIY活动不仅让初学者掌握FPGA硬件电路设计以及焊接方面的知识,更重要的是让初学者学习硬件描述语言 (VerilogHDL)描述数字电路,以及Quartus II ...
- ubuntu14.04 安装搜狗输入法
(1)下载链接 http://pinyin.sogou.com/linux/ (2)清除fcitx $sudo apt-get purge fcitx* (3)使用deb安装工具gdebi,这个工具能 ...
- WebSocket 简介
在HTML5规范中,我最喜欢的Web技术就是正迅速变得流行的WebSocket API.WebSocket提供了一个受欢迎的技术,以替代我们过去几年一直在用的Ajax技术.这个新的API提供了一个方法 ...