本文来自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;
}
分享到:
相关推荐
在Wince系统中,你需要首先获取适用于该平台的SQLite库,并将其编译为适合嵌入式设备的版本。 在"vc++SQLite编程.zip"压缩包中,可能包含以下内容: 1. 示例工程文件:这通常是一个或多个VC++项目的工程文件(....
sqlite-tools-win32-x86-3290000 是一个SQLite数据库工具在Windows 32位系统上的安装包或目录名称。SQLite是一个C库,提供了一个轻量级的磁盘文件数据库,不需要一个单独的服务器进程或操作系统(不需要配置、安装或...
WinCE 下使用 SQLite 数据库 WinCE 作为一种嵌入式操作系统,广泛应用于 Various 嵌入式设备中,而 SQLite 则是一种轻量级、跨平台的关系型数据库管理系统。因此,在 WinCE 平台下使用 SQLite 数据库是非常常见的...
1. 下载SQLite:首先从官方网站下载适用于VC的SQLite动态链接库(如sqlite3.dll)和头文件(sqlite3.h)。 2. 配置项目设置:在VC项目属性中,将sqlite3.dll添加到"调试"和"发布"配置的“依赖项”中。同时,将sqlite...
在实际应用中,你可能需要处理更复杂的SQL语句,事务,错误检查,以及使用预编译的语句(`sqlite3_prepare_v2`)以提高性能。 此外,为了简化对SQLite的使用,可以考虑使用如SQLiteModernCpp这样的库,它提供了一套...
"sqlite-shell-win32-x86-3080200.zip" 是SQLite针对Windows 32位平台的命令行接口(shell)的压缩包,版本号为3.8.2.0。这个压缩包包含了一个名为"sqlite3.exe"的可执行文件,它是SQLite Shell,也就是SQLite的...
本文将深入探讨在WinCE环境下如何进行SQLite的开发,以及如何管理和使用SQLite的工具。 首先,我们要了解如何在WinCE上构建SQLite的动态链接库(DLL)和静态链接库(LIB)。这通常涉及到以下步骤: 1. 获取源码:...
- "win32-x86":这表明这个DLL文件是为Windows 32位操作系统设计的,适用于x86架构的CPU,也就是传统的32位Intel或AMD处理器。 - "3080700":这是SQLite的版本号。每个版本都可能包含性能改进、新功能或者错误修复。...
在给定的压缩包"sqlite-tools-win32-x86-3240000.zip"中,包含了适用于Windows 32位系统的SQLite工具,版本号为3240000。 这个压缩包主要包括了以下三个关键文件: 1. **sqlite3.exe**:这是SQLite的命令行接口,...
网上可以下到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: sqlite3.exe 2. 为了方便命令行执行,将sqlite3.exe放到svn 项目的主目录下,和.svn目录同级下。 3. 执行 sqlite3 .svn/wc.db "select * from work_queue".看到有4条记录。就是...
SQLite是一款开源、轻量级的嵌入式关系型数据库管理系统,广泛应用于移动设备、桌面系统以及服务器环境。这个“sqlite-tools-win32-x86-3360000.zip”压缩包是SQLite的Windows 32位版本工具集,版本号为3360000,...
"sqlite-tools-win32-x86-3310100.zip" 是SQLite官方提供的Windows 32位版本的工具集压缩包,版本号为3310100。这个压缩包包含了SQLite数据库管理、操作和维护所需的几个核心工具,旨在帮助用户执行SQL查询、管理...
"sqlite-shell-win32-x86"这个压缩包文件是为Windows 32位操作系统提供的SQLite命令行界面工具。这个工具使得用户可以直接在命令行环境下与SQLite数据库进行交互,执行SQL查询、创建数据库、管理表以及执行其他...
总的来说,SQLite Arm和SQLite Win32库提供了在不同硬件平台和操作系统环境下使用SQLite数据库的能力,它们的轻量级、高效和灵活的特性使得SQLite成为众多开发者的选择。无论是在移动设备还是传统的桌面系统上,...
在VC(Visual C++)开发环境中,SQLite是一个广泛使用的轻量级嵌入式数据库引擎,尤其适合于桌面应用和移动设备。本篇文章将详细介绍如何在VC项目中集成和使用SQLite,包括大批数据的快速插入以及从数据库中读取数据...
VC中使用sqlite SQLite官方下载只提供给我们一个sqlite3.dll跟一个sqlite3.def文件,并没有提供用于VC++6.0的lib文件,可以利用sqlite3.def文件生成(此文档已生成了,可以直接使用),步骤如下: 1.将sqlite3.h...
SQLite3是一款轻量级的开源关系型数据库管理系统,它被广泛应用于嵌入式系统中,如Windows CE(简称WinCE)平台。SQLite3在WinCE6.0上的应用,为移动设备和小型设备提供了可靠的数据存储解决方案,无需依赖外部...
SQLite的这个版本特别适用于这些设备,因为它能够提供与标准SQL兼容的数据库功能,而无需额外的服务器进程或客户端连接。 描述中强调了SQLite的几个关键特性: 1. **开源**:SQLite遵循公共领域许可,允许自由使用...
有:sqlite3.def sqlite3.dll 两个文件(由sqlite-dll-win32-x86-3071100.zip解压得到) 第三步:生成文件 你只需要在命令行里,右键粘贴下面的代码就可以啦 LIB /out:C:\SQLite3\sqlite3.lib /MACHINE:IX86 /DEF:C...