`

VC2005使用SQLite,适用于WIN32以及WINCE

阅读更多
本文来自http://blog.csdn.net/hellogv/
首先,把编译SQLITE生成的DLL、LIB和sqlite3.h 放到项目的文件夹下,把项目=》属性=》链接器=》输入=》附加依赖项:输入SQLITE的lib文件名
    一、创建MySQLite.cpp:
    
    #include "stdafx.h"
    
    #include "MySQLite.h"
    
    bool MySQLite::sqlite_connect(char *filename)
    
    {
    
        db=NULL;
    
        zErrMsg = 0;
    
        row = 0, column = 0;
    
        int rc;
    
        rc = sqlite3_open(filename, &db); //打开指定的数据库文件,如果不存在将创建一个同名的数据库文件
    
        if( rc )
    
        {
    
            strcpy(zErrMsg,sqlite3_errmsg(db));//保存错误信息
    
            sqlite3_close(db);
    
            return false;
    
        }
    
        return true;   
    
    }
    
    
    
    bool MySQLite::sqlite_exec(char *sql)
    
    {
    
        int rc;
    
        rc=sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
    
        if(rc == SQLITE_OK)
    
            return true;
    
        return false;
    
    }
    
    
    
    void MySQLite::sqlite_search(char *search_sql)
    
    {
    
        sqlite3_get_table( db,search_sql,&azResult,&row,&column,&zErrMsg);
    
    }
    
    
    
    bool MySQLite::sqlite_disconnect()
    
    {
    
    //释放掉 azResult 的内存空间
    
        sqlite3_free_table( azResult );
    
        if(sqlite3_close(db)==SQLITE_OK) //关闭数据库
    
            return true;
    
        return false;
    
    }
    
    
    
    二、创建MySQLite.h:
    
    #include <stdio.h>
    
    #include <stdlib.h>
    
    #include <string.h>
    
    #include "sqlite3.h"
    
    class MySQLite
    
    {
    
    private:
    
        sqlite3 *db;//数据库句柄
    
        char **azResult; //二维数组存放结果
    
        char *zErrMsg;//保存错误信息
    
        int row;
    
        int column;
    
    public:
    
        bool sqlite_connect(char *filename);//连接数据库
    
        bool sqlite_exec(char *sql);//执行SQL命令
    
        void sqlite_search(char *search_sql);//查询
    
        bool sqlite_disconnect();//断开数据库连接
    
    
    
        int GetTableRow(){return row;}//查询后,取得表“列”数
    
        int GetTableColumn(){return column;}//查询后,取得表“栏”数
    
        char *GetErrorMsg(){return zErrMsg;}//取得当前错误提示
    
        char *GetTableData(int x,int y){return *(azResult+x+y*column);}//查询后,取得表内某个单元值
    
    };
    
    
    
    三、创建测试文件test.cpp:
    
    
    
    #include "stdafx.h"
    
    #include <iostream>
    
    #include "MySQLite.h"
    
    #define _DEBUG_
    
    using namespace std;
    
    int main( void )
    
    {
    
        bool result;
    
        MySQLite *sqlite=new MySQLite();
    
        result=sqlite->sqlite_connect("hellogv.db");
    
        if(!result) cout<<sqlite->GetErrorMsg()<<endl;
    
       
    
        result=sqlite->sqlite_exec("CREATE TABLE SensorData(ID INTEGER PRIMARY KEY,SensorID INTEGER,SiteNum INTEGER,Time VARCHAR(500),SensorParameterREAL);");
    
        if(!result) cout<<sqlite->GetErrorMsg()<<endl;
    
    
    
        result=sqlite->sqlite_exec("INSERT INTO \"SensorData\" VALUES(NULL , 1 , 1 , '200605011206', 18.9 );");
    
        if(!result) cout<<sqlite->GetErrorMsg()<<endl;
    
    
    
    
    
        result=sqlite->sqlite_exec("INSERT INTO \"SensorData\" VALUES(NULL , 23 , 45 , '200605011306', 16.4 );");
    
        if(!result) cout<<sqlite->GetErrorMsg()<<endl;
    
    
    
        sqlite->sqlite_search("SELECT * from SensorData");
    
        cout<<sqlite->GetTableColumn()<<"   "<<sqlite->GetTableRow()<<endl;
    
        cout<<sqlite->GetTableData(0,0)<<endl;
    
    
    
        sqlite->sqlite_disconnect();
    
    
    
        return 0;
    
    }
分享到:
评论

相关推荐

    vc++SQLite编程.zip_VC sqlite _sqlite vc_tonegdr_wince SQLite 编程_wi

    在Wince系统中,你需要首先获取适用于该平台的SQLite库,并将其编译为适合嵌入式设备的版本。 在"vc++SQLite编程.zip"压缩包中,可能包含以下内容: 1. 示例工程文件:这通常是一个或多个VC++项目的工程文件(....

    sqlite-tools-win32-x86-3290000

    sqlite-tools-win32-x86-3290000 是一个SQLite数据库工具在Windows 32位系统上的安装包或目录名称。SQLite是一个C库,提供了一个轻量级的磁盘文件数据库,不需要一个单独的服务器进程或操作系统(不需要配置、安装或...

    WinCE下使用sqlite数据库

    WinCE 下使用 SQLite 数据库 WinCE 作为一种嵌入式操作系统,广泛应用于 Various 嵌入式设备中,而 SQLite 则是一种轻量级、跨平台的关系型数据库管理系统。因此,在 WinCE 平台下使用 SQLite 数据库是非常常见的...

    vc下sqlite使用

    1. 下载SQLite:首先从官方网站下载适用于VC的SQLite动态链接库(如sqlite3.dll)和头文件(sqlite3.h)。 2. 配置项目设置:在VC项目属性中,将sqlite3.dll添加到"调试"和"发布"配置的“依赖项”中。同时,将sqlite...

    VC使用SQLITE数据库

    在实际应用中,你可能需要处理更复杂的SQL语句,事务,错误检查,以及使用预编译的语句(`sqlite3_prepare_v2`)以提高性能。 此外,为了简化对SQLite的使用,可以考虑使用如SQLiteModernCpp这样的库,它提供了一套...

    sqlite-shell-win32-x86-3080200.zip

    "sqlite-shell-win32-x86-3080200.zip" 是SQLite针对Windows 32位平台的命令行接口(shell)的压缩包,版本号为3.8.2.0。这个压缩包包含了一个名为"sqlite3.exe"的可执行文件,它是SQLite Shell,也就是SQLite的...

    wince+sqlite+sqlite管理工具

    本文将深入探讨在WinCE环境下如何进行SQLite的开发,以及如何管理和使用SQLite的工具。 首先,我们要了解如何在WinCE上构建SQLite的动态链接库(DLL)和静态链接库(LIB)。这通常涉及到以下步骤: 1. 获取源码:...

    sqlite-dll-win32-x86-3080700.zip

    - "win32-x86":这表明这个DLL文件是为Windows 32位操作系统设计的,适用于x86架构的CPU,也就是传统的32位Intel或AMD处理器。 - "3080700":这是SQLite的版本号。每个版本都可能包含性能改进、新功能或者错误修复。...

    sqlite-tools-win32-x86-3240000.zip

    在给定的压缩包"sqlite-tools-win32-x86-3240000.zip"中,包含了适用于Windows 32位系统的SQLite工具,版本号为3240000。 这个压缩包主要包括了以下三个关键文件: 1. **sqlite3.exe**:这是SQLite的命令行接口,...

    sqlite-shell-win32-x86: sqlite3.exe

    网上可以下到sqlite-shell-win32-x86: sqlite3.exe 2. 为了方便命令行执行,将sqlite3.exe放到svn 项目的主目录下,和.svn目录同级下。 3. cmd进入该目录下,执行 sqlite3 .svn/wc.db "select * from work_queue"....

    sqlite-shell-win32-x86-3080406.zip

    网上可以下到sqlite-shell-win32-x86: sqlite3.exe 2. 为了方便命令行执行,将sqlite3.exe放到svn 项目的主目录下,和.svn目录同级下。 3. 执行 sqlite3 .svn/wc.db "select * from work_queue".看到有4条记录。就是...

    sqlite-tools-win32-x86-3360000.zip(sqllite安装包)

    SQLite是一款开源、轻量级的嵌入式关系型数据库管理系统,广泛应用于移动设备、桌面系统以及服务器环境。这个“sqlite-tools-win32-x86-3360000.zip”压缩包是SQLite的Windows 32位版本工具集,版本号为3360000,...

    sqlite-tools-win32-x86-3310100.zip

    "sqlite-tools-win32-x86-3310100.zip" 是SQLite官方提供的Windows 32位版本的工具集压缩包,版本号为3310100。这个压缩包包含了SQLite数据库管理、操作和维护所需的几个核心工具,旨在帮助用户执行SQL查询、管理...

    sqlite-shell-win32-x86

    "sqlite-shell-win32-x86"这个压缩包文件是为Windows 32位操作系统提供的SQLite命令行界面工具。这个工具使得用户可以直接在命令行环境下与SQLite数据库进行交互,执行SQL查询、创建数据库、管理表以及执行其他...

    sqlite_arm和sqlite_win32库

    总的来说,SQLite Arm和SQLite Win32库提供了在不同硬件平台和操作系统环境下使用SQLite数据库的能力,它们的轻量级、高效和灵活的特性使得SQLite成为众多开发者的选择。无论是在移动设备还是传统的桌面系统上,...

    VC中sqlite的使用

    在VC(Visual C++)开发环境中,SQLite是一个广泛使用的轻量级嵌入式数据库引擎,尤其适合于桌面应用和移动设备。本篇文章将详细介绍如何在VC项目中集成和使用SQLite,包括大批数据的快速插入以及从数据库中读取数据...

    VC工程演示对sqlite数据库的操作,包含SQLite3文件!

    VC中使用sqlite SQLite官方下载只提供给我们一个sqlite3.dll跟一个sqlite3.def文件,并没有提供用于VC++6.0的lib文件,可以利用sqlite3.def文件生成(此文档已生成了,可以直接使用),步骤如下: 1.将sqlite3.h...

    SQLite3 for WinCE

    SQLite3是一款轻量级的开源关系型数据库管理系统,它被广泛应用于嵌入式系统中,如Windows CE(简称WinCE)平台。SQLite3在WinCE6.0上的应用,为移动设备和小型设备提供了可靠的数据存储解决方案,无需依赖外部...

    sqlite-source-3_3_6.zip_sqlite wince_wince sqlite_wince 数据库

    SQLite的这个版本特别适用于这些设备,因为它能够提供与标准SQL兼容的数据库功能,而无需额外的服务器进程或客户端连接。 描述中强调了SQLite的几个关键特性: 1. **开源**:SQLite遵循公共领域许可,允许自由使用...

    vc 所需sqlite.lib

    有:sqlite3.def sqlite3.dll 两个文件(由sqlite-dll-win32-x86-3071100.zip解压得到) 第三步:生成文件 你只需要在命令行里,右键粘贴下面的代码就可以啦 LIB /out:C:\SQLite3\sqlite3.lib /MACHINE:IX86 /DEF:C...

Global site tag (gtag.js) - Google Analytics