zoukankan      html  css  js  c++  java
  • [转载]c操作sqlite3基本方法

    [ 2010-05-09 20:08:47 | 作者: yuhen ]
    相关 API 信息可参考官方 帮助手册

    测试代码:
    #include <sqlite3.h>
    
    void exec(sqlite3* db, const char* sql)
    {
        sqlite3_stmt* stmt;
    
        if (sqlite3_prepare(db, sql, strlen(sql), &stmt, NULL) == SQLITE_OK)
        {
            sqlite3_step(stmt);
        }
        else
        {
            printf("%s\n", sqlite3_errmsg(db));
        }
    
        sqlite3_finalize(stmt);
    }
    
    void exec2(sqlite3* db, const char* sql)
    {
        sqlite3_stmt* stmt;
    
        if (sqlite3_prepare(db, sql, strlen(sql), &stmt, NULL) == SQLITE_OK)
        {
            while (sqlite3_step(stmt) == SQLITE_ROW)
            {
                int id = sqlite3_column_int(stmt, 0);
                unsigned char* name = sqlite3_column_text(stmt, 1);
    
                printf("%d, %s\n", id, name);
            }
        }
        else
        {
            printf("%s\n", sqlite3_errmsg(db));
        }
    
        sqlite3_finalize(stmt);
    }
    
    int main(int argc, char* argv[])
    {
        sqlite3* db;
    
        if (sqlite3_open("./test.db", &db) == SQLITE_OK)
        {
            exec(db, "CREATE TABLE [user]([id] INTEGER PRIMARY KEY ASC AUTOINCREMENT, [name])");
            exec(db, "INSERT INTO [user] ([name]) VALUES ('user1')");    
            exec(db, "INSERT INTO [user] ([name]) VALUES ('user2')");    
            exec(db, "INSERT INTO [user] ([name]) VALUES ('user3')");    
            exec2(db, "SELECT * FROM [user]");    
    
            sqlite3_close(db);
        }
        else
        {
            printf("%s\n", sqlite3_errmsg(db));
        }
    
        return EXIT_SUCCESS;
    }
  • 相关阅读:
    设定cookie 获取cookie数据的转换
    cookie cookie的获取
    常见的请求方式 json字符串
    请求报文和响应报文
    http协议
    php分页查询 子查询
    MAC 地址为什么不需要全球唯一
    ceph分布式存储简介
    一文看懂为什么边缘计算是大势所趋
    真香!Windows 可直接运行 Linux 了
  • 原文地址:https://www.cnblogs.com/fx2008/p/2212507.html
Copyright © 2011-2022 走看看