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 ...
随机推荐
- HBase配置&启动脚本分析
本文档基于hbase-0.96.1.1-cdh5.0.2,对HBase配置&启动脚本进行分析 date:2016/8/4 author:wangxl HBase配置&启动脚本分析 剔除 ...
- uva 1597 Searching the Web
The word "search engine" may not be strange to you. Generally speaking, a search engine se ...
- C++语法报错收集
1. error C2864: "OuterClass::m_outerInt": 只有静态常量整型数据成员才可以在类中初始化 class OuterClass { public: ...
- shell启动时读取的配置文件
bash shell具体可以分为3种类型,这3种类型为: 1 login shell 就是需要输入用户名和密码才能登陆的shell 2 可交互的非login shell 就是不用登陆的,但是可以同用户 ...
- Windows7下MySQL5.6.15免安装版的配置(来自yang362046076)
1.下载mysql-5.5.20-win32.zip,解压到D:\dev,D盘的dev文件夹下就会出现mysql-5.5.20-win32目录,将其重命名为mysql. 2.配置MYSQL的环境变量 ...
- Jquery列表中的导航菜单的应用
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- haproxy之配置文件解析
功能--> 提供高可用/负载均衡/基于tcp和http应用的代理;支持虚拟主机,特别适用于负载特大的web站点. 配置文件解析--> #配置文件-->开启/proc/net/ipv4 ...
- Keil C51.uew
/L15"Keil C51" Line Comment = // Block Comment On = /* Block Comment Off = */ Escape Char ...
- Mysql.Data的连接驱动 .net 的源码竟然在git了
如标题 上链接:https://github.com/mysql/mysql-connector-net
- github page使用
github page介绍: https://help.github.com/categories/20/articles 使用GitHub Pages建立博客 与GitHub建立好链接之后,就可以方 ...