C 语言操作sqlite3 API 接口
四大函数
sqlite3_open(DATABASE, &db)
sqlite3_close(db); //关闭数据库
sqlite3_get_table(db, sqltxt, &dbResult, &nRow, &nColumn, &err_msg);
sqlite3_exec(db, sqltxt, 0, 0, &err_msg);
示例代码
// sqlite3 编程实例
// 实现思路
// 1、打开数据库,执行sqlite3_open
// 2、创建数据库表格,利用sqlite3_exec执行create table语句
// 3、根据输入指令,执行插入、删除、查询、退出操作。
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>
#include <string.h>
#include <time.h>
#include <strings.h>
#define DATABASE "/home/zmh/sqlite/example/stu.db"
int Updata_example(sqlite3 *db)
{
char *err_msg = NULL;
int ret = 0;
char *sqltxt = "UPDATE student SET uname='李小明' , sex=0 WHERE uname='李小明'";
ret = sqlite3_exec(db, sqltxt, 0, 0, &err_msg);
// ret = 0 表示修改成功
printf("UPDATE return value = %d\n", ret);
return 0;
}
int Delete_example(sqlite3 *db)
{
char *err_msg = NULL;
int ret = 0;
char *sqltxt = "DELETE FROM student WHERE uname='李小明'";
ret = sqlite3_exec(db, sqltxt, 0, 0, &err_msg);
// ret = 0 表示修改成功
printf("UPDATE return value = %d\n", ret);
return 0;
}
int Select_Count_example(sqlite3 *db)
{
char *err_msg = NULL;
int ret = 0;
char **dbResult;
int nRow, nColumn;
int i, j, serial;
char *sqltxt = "SELECT * FROM snumber";
ret = sqlite3_get_table(db, sqltxt, &dbResult, &nRow, &nColumn, &err_msg);
// ret = 0 表示修改成功
if (ret == SQLITE_OK)
{
printf("nRow = %d\n", nRow);
printf("nColumn = %d\n", nColumn);
printf("dbResult[0] = %s\n", dbResult[0]);
printf("dbResult[1] = %s\n", dbResult[1]);
printf("\n");
serial = nColumn;
for (i = 0; i < nRow; i++)
{
for (j = 0; j < nColumn; j++)
{
printf("%-20s", dbResult[serial]);
serial++;
}
printf("\n");
}
}
return 0;
}
int main(int argc, char *argv[])
{
sqlite3 *db;
//打开sqlite3数据库
if (sqlite3_open(DATABASE, &db) != SQLITE_OK)
{
printf("sqlite3_open falied!\r\n");
return -1;
}
printf("sqlite3_open success!\r\n");
// Updata_example(db);
// Delete_example(db);
Select_Count_example(db);
sqlite3_close(db); //关闭数据库
return 0;
}

浙公网安备 33010602011771号