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;
}

 

posted @ 2022-06-04 13:11  牛之蚁  阅读(0)  评论(0)    收藏  举报