SQLite3基本操作入门
来源:互联网 发布:女生问你喜欢我吗 知乎 编辑:程序博客网 时间:2024/05/22 11:41
1.创建Win32控制台应用程序空项目,我命名为SQLite3,将sqlite3.c和sqlite3.h引入到工程中
2.创建一个main.cpp文件
main.cpp文件内容:
#include <iostream>
#include "sqlite3.h"
using namespace std;
////等义回调函数
//typedef int(* sqlite3_callback)(void *, int, char **, char **);
//
//
//int LoadMyInfo( void * para, int n_column, char ** column_value, char ** column_name )
//{
//
//}
void main()
{
printf("123");
int a = 1;
sqlite3 *db;
char *dbPath="C:/Users/ZC-BC010/Documents/dgd.db";
//
char *szErrMsg = NULL;
int rc = sqlite3_open(dbPath, &db);
if (rc != SQLITE_OK)
{
printf("失败");
return ;
}
rc = sqlite3_exec(db,"select * from main", 0, 0, NULL);
if(rc != SQLITE_OK )
{
printf("失败");
return ;
}
rc = sqlite3_exec(db,"update main set baseinfo = 111222 where id = 1", 0, 0, NULL);
if(rc != SQLITE_OK )
{
printf("失败");
return ;
}
//执行玩语句后会将dgd.db文件中的数据改变
//
//sqlite3_close();
//这就是执行一条 sql 语句的函数。
//原型 int sqlite3_exec(sqlite3*, const char *sql, sqlite3_callback, void *, char **errmsg );
//第4个参数void * 是你所提供的指针,你可以传递任何一个指针参数到这里,这个参数最终会传到回调函数里面
//sqlite3_exec(db,“select * from MyTable_1”, LoadMyInfo, 0, errmsg);
//sqlite3_get_table();
////写入2进制
//sqlite3_stmt *star;
//把sql语句解析到star结构里去
//1. sqlite3_prepare(db, "insert into Tbl_2( ID, file_content) values( 10, ? )", -1, &star, 0);
//在sqlite3_prepare函数里,?号表示一个未定的值,它的值等下才插入。
//开始插入二进制数据到star中, 这里的pdata就是?代表的值
//2. sqlite3_bind_blob(stat, 1, pdata, (int)(length_of_data_in_bytes), NULL );//pdata为数据缓冲区,length_of_data_in_bytes为数据大小,以字节为单位
//sqlite3_bind_XXX 所包含的全部接口,它们是用来给SQL声明中的通配符赋值的
//3. int result = sqlite3_step(star);//二进制数据保存到数据库里面
//把 sqlite3_stmt 结构给释放
//4. sqlite3_finalize(star); //把刚才分配的内容析构掉
////读出2进制
//1. 解析到star结构里去
//sqlite3_prepare(db, "select * from Tbl_2", -1, &star, 0);
//一次sqlite3_step只查询出一条记录,可以循环查询,直到不为 SQLITE_ROW 时表示查询结束
//int result = sqlite3_step(star);//在这里result值为SQLITE_ROW 时表示成功(不是 SQLITE_OK )
//获取第N个字段的值,0为第一个,获取第一个字段:ID的值
//int id = sqlite3_colomn_int(star, 0)
//获取 file_content 的值 因为 file_content 是二进制,因此我需要得到它的指针,还有它的长度
//const void *pFileContent = sqlite3_column_blob(star, 1);
//int len = sqlite3_column_byte3(star, 1);
//释放sqlite3_stmt结构
//sqlite3_finalize(star)
//result = sqlite3_reset(star)
//返回的记录集通过使用其它的几个 sqlite3_column_***() 函数来提取, 所有的这些函数都把列的编号作为第二个参数. 列编号从左到右以零起始.
//void sqlite3_value_xxxx
//void sqlite3_result_xxxxx
}
根据sqlite3提供的接口函数操作数据库文件,使用SQLite Expert Professional 3创建的文件刚开始不是db格式的,自己加上db后缀就可以了。
- SQLite3基本操作入门
- SQLite3 数据库基本操作
- SQLite3 安装、基本操作
- sqlite3 基本操作
- sqlite3基本操作
- SQLite3 安装、基本操作
- sqlite3的基本操作
- sqlite3 基本操作
- SQLite3 安装、基本操作
- sqlite3:基本操作
- sqlite3基本操作
- sqlite3基本操作
- sqlite3 基本操作
- sqlite3 的基本操作
- sqlite3的基本操作
- SQLite3简单入门操作
- SQLite3数据库操作入门
- Sqlite3基本操作及命令
- Spark任务处理流程
- IntelliJ IDEA 简单设置优化
- 浏览器使用DOM表示标记
- JVM系列五:JVM监测&工具[整理中]
- 树的直径
- SQLite3基本操作入门
- C#利用mysql验证登录
- 初入CSDN
- 程序向oracle插入数据错误:can bind a LONG value only for insert into a LONG column
- 禁止浏览器前进和后退 清除缓存
- UITableViewCell 专辑
- openstack neutron-plugin-openvswitch-agent start 报错
- TOMCAT访问流程
- Tachyon部署与使用指南