C++使用Sqlite3的简单案例

来源:互联网 发布:3560g有个端口黄灯 编辑:程序博客网 时间:2024/06/04 18:37
重Sqlite3官网下载[http://www.sqlite.org/download.html](http://www.sqlite.org/download.html)如下图

这里写图片描述
解压文件复制sqlite3.h,sqlite3.c文件到新建的win32项目中
下载sqlite-dll-win64-x64文件,解压后可以直接使用命令行进行数据库的操作,可以配置path路径,也可以不配置,使用如下图
这里写图片描述

#include <iostream>#include "sqlite3.h"using namespace std;bool test(sqlite3* db);/*typedef int(*sqlite3_callback)(    void*,    // Data provided in the 4th argument of sqlite3_exec()     int,      // The number of columns in row     char**,   // An array of strings representing fields in the row     char**    // An array of strings representing column names     );    */static int callback(void *NotUsed, int argc, char **argv, char **azColName){    int i;    fprintf(stderr, "%s: ", (const char*)NotUsed);    for (i = 0; i<argc; i++){        printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");    }    printf("\n");    return 0;}void insert(){    /* Create SQL statement */    char * sql = "INSERT INTO COMPANY (id,name,age,address,salary) "  \        "VALUES (1, 'Paul', 32, 'California', 20000.00 ); " \        "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) "  \        "VALUES (2, 'Allen', 25, 'Texas', 15000.00 ); "     \        "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)" \        "VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );" \        "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)" \        "VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );";}void main(){    cout << "Hello C++" << endl;    sqlite3 *db;    char *zErrMsg = 0;    int  rc;    char *sql;    const char* data = "Callback function called";    /* Open database */    rc = sqlite3_open("test.db", &db);    if (rc){        fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));        exit(0);    }    else{        fprintf(stdout, "Opened database successfully\n");    }    // Create SQL statement    /*    sql = "CREATE TABLE person("  \        "id INT PRIMARY KEY     NOT NULL," \        "name           TEXT    NOT NULL," \        "age            INT     NOT NULL," \        "address        CHAR(50)," \        "salary         REAL );";        */    /* Create SQL statement */    /*    sql = "INSERT INTO person (id,name,age,address,salary) "  \        "VALUES (1, 'Paul', 32, 'California', 20000.00 ); " \        "INSERT INTO person (id,name,age,address,salary) "  \        "VALUES (2, 'Allen', 25, 'Texas', 15000.00 ); "     \        "INSERT INTO person (id,name,age,address,salary)" \        "VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );" \        "INSERT INTO person (id,name,age,address,salary)" \        "VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );";        */    /* Create SQL statement */    /*    sql = "SELECT * from person";    */    /* Create merged SQL statement */    /*    sql = "UPDATE person set salary = 25000.00 where id=1; " \        "SELECT * from person";        */    /* Create merged SQL statement */    sql = "DELETE from person where id=2; " \        "SELECT * from person";    /* Execute SQL statement */    rc = sqlite3_exec(db, sql, callback, (void*)data, &zErrMsg);    if (rc != SQLITE_OK){        fprintf(stderr, "SQL error: %s\n", zErrMsg);        sqlite3_free(zErrMsg);    }    else{        fprintf(stdout, "Table created successfully\n");    }    sqlite3_close(db);    while (1);}

简单的使用案例!

1 0
原创粉丝点击