`
arust
  • 浏览: 95130 次
  • 性别: Icon_minigender_1
  • 来自: 海底
社区版块
存档分类
最新评论

一个美丽的发现wxSQLite3

阅读更多

“美是到处都有的,对于我们的眼睛不是缺少美,而是缺少发现”,罗丹的这句名言不仅适用于艺术创作,而且也适用于软件开发。具有聪明才智的人,总是不甘寂寞而乐于把自己的才华与人分享,善于发现和使用这些人的代码,实在是一个提高软件开发效率的明智之举。并且只有借助于众人的智慧才是开发出优秀软件的唯一途径。

wxSQLite3 就是这样的一个优秀作品,它把 SQLite 嵌入式数据库与 wxWidgets 结合起来,使用 C++ 语法对 SQLite 数据库的 C API 进行了封装,而且作为 wxWidgets 的一个组件,自然很好的融合了其特点,使得 wxWidgets 与  SQLite 数据库配合使用天衣无缝,堪称珠联璧合,比我自己目前正在编写的数据库操作代码优雅得多,正是我所需要的好东西。

编译 wxSQLite3 很简单,与 wxWidgets 类似,在 build 目录下可以找到一个对应 VC 编译器的 makefile.vc 文件,开头部分是编译选项,跟编译 wxWidgets 时使用的参数项大同小异,一望便知。然后使用命令 nmake -f makefile.vc,稍等片刻就编译完成。我照例把 wxSQLite3 编译成静态库使用,只是有一点要注意,makefile 文件中有个变量 WXSQLITE3_LIB_CXXFLAGS 在编译成静态库的时候要手动修改一下,将其中的 /MD 字段改为 /MT。这两个都是 cl.exe 的参数,具体含义可以查看MSDN。另外还需要注意的是,使用 wxSQLite3 的静态库时仍然依赖 SQLite3。所以在 VC 中使用 wxSQLite3 的话,一定要记得加入:

#pragma comment(lib,"sqlite3.lib")



否则链接的时候就会出现类似的错误:

error LNK2001: unresolved external symbol _sqlite3_backup_step
error LNK2001: unresolved external symbol _sqlite3_open
error LNK2001: unresolved external symbol _sqlite3_xxxx
error LNK2001: unresolved external symbol _sqlite3_xxxx_xxxx
error LNK2001: unresolved external symbol _sqlite3_xxxx
...


另外,建议编译 wxSQLite3 的静态库的时候,SQLite3 也采用静态库的方式提供,避免发布的时候还要带上一个 dll 文件,麻烦!

关于生成 SQLite3 静态库的方法,可以参考这里:
http://haiyi.iteye.com/blog/287904


顺便提一下,CppSQLite3 也是一个关于 SQLite 优秀的 C++ 封装。比 wxSQLite3 更加通用一些,只是作者已经很久没有更新了。相比之下,wxSQLite3 的更新速度几乎和 SQLite3 官方同步,最适合像我这样喜新厌旧的人了

两个库的地址:
wxSQLite3
http://wxcode.sourceforge.net/components/wxsqlite3/
CppSQLite3
http://www.codeproject.com/KB/database/CppSQLite.aspx
分享到:
评论
2 楼 arust 2010-11-25  
天地有情 写道
请教大侠,编程成功后的.exe文件里可以直接操作加解密的功能吗,要是可以的话,指令是什么呢?


不太明白你的意思。
数据库加密以后,只要知道密钥就可以解密了,跟是谁编译的exe文件无关。
PS. 我不是大侠
1 楼 天地有情 2010-11-21  
请教大侠,编程成功后的.exe文件里可以直接操作加解密的功能吗,要是可以的话,指令是什么呢?

相关推荐

    安卓调用wxsqlite3对sqlite数据库进行加密

    wxsqlite3是一个针对SQLite的扩展,它提供了一种在Android上对SQLite数据库进行加密的方法。这个库通常包含了C/C++编写的原生代码(.so文件),这些代码是基于SQLite源码进行修改和封装的,目的是实现数据库的加解密...

    wxsqlite3 3.5.8编译

    `wxsqlite3` 是一个与`wxWidgets`图形库集成的SQLite数据库引擎接口,它允许在`wxWidgets`应用程序中无缝地使用SQLite数据库。版本3.5.8是该库的一个特定版本,提供了对SQLite 3.x版本的支持。在Windows环境下,通常...

    wxSqlite3 for Delphi

    【wxSqlite3 for Delphi】是一个专门为Delphi开发者设计的SQLite3数据库接口库,它是在`simplesqlitefordelphi`的基础上进行了改造和增强。这个库的主要目标是提供对SQLite3数据库的全面支持,包括加解密功能以及...

    wxsqlite3-3.0.1

    【wxsqlite3-3.0.1】是一个用于嵌入式环境的数据库引擎,它是SQLite3的一个增强版本,尤其在安全性和加密功能方面有所提升。SQLite3是世界上最广泛使用的数据库引擎,它是一个轻量级、自包含的、无服务器、事务性的...

    delphi调用wxsqlite3例子

    在这个“delphi调用wxsqlite3例子”中,我们将深入探讨如何在Delphi项目中集成并使用wxSQLite3,一个基于SQLite的组件库。 首先,我们要理解`wxsqlite3`是什么。wxSQLite3是wxWidgets(一个跨平台的C++库)与SQLite...

    wxsqlite3-3.1.1.zip

    wxsqlite3-3.1.1是wxsqlite3的一个特定版本,wxsqlite3是一个C++封装的SQLite库,它扩展了SQLite的功能,尤其是加入了对数据库加密的支持。这个版本号“3.1.1”表明它是该软件的某个稳定版本,可能包含了一些优化和...

    wxsqlite3加密

    **wxSQLite3加密详解** wxSQLite3是一款基于SQLite3数据库引擎的C++库,它为wxWidgets应用程序提供了轻量级、高效且易于使用的数据库接口。这个资源特别提及“加密”一词,意味着它可能包含了对SQLite3数据库进行...

    Delphi使用wxsqlite3加密Sqlite3数据库

    使用wxsqlite3提供的加密动态库,通过sqlite simple delphi包装类连接sqlite3.dll,自己扩展了sqlite simple delphi包装类,方便Delphi调用,还增加了CheckDbIsEncrypt函数,判断数据库有没有加密。具体使用请参考...

    sqlite3数据库组件wxSQLite3.3

    **标题解析:** "sqlite3数据库组件wxSQLite3.3" 指的是一个基于SQLite3的数据库组件,特别地,是wxSQLite3的版本3.3。wxSQLite3是SQLite3数据库的一个扩展,它提供了在wxWidgets应用程序中集成SQLite3的功能。 **...

    wxsqlite3.tar.gz

    其中,wxSQLite3是一个专为Linux平台设计的SQLite3图形界面管理工具,它提供了对SQLite3数据库的强大支持,特别是对于数据安全性的强化,如AES128加密功能。本文将深入探讨wxSQLite3在Linux环境下的应用,以及与其...

    最新版wxsqlite3-3.3.1

    【wxsqlite3-3.3.1】是一个最新的SQLite数据库管理工具,专为Python环境设计。SQLite是一款轻量级、自包含的、无服务器的、事务性的SQL数据库引擎,广泛应用于嵌入式系统和移动应用中。wxsqlite3是wxPython库与...

    wxsqlite源码及加密库demo

    3. `wxsqlite3-3.1.0`:这是wxsqlite3的一个版本为3.1.0的源代码包,包含wxsqlite3的源代码,用于编译和定制。 在实际操作中,首先需要解压`wxsqlite3-3.1.0`,然后在Visual Studio中打开`SqliteEncode.sln`,配置...

    Delphi使用wxsqlite3加密Sqlite3数据库.rar

    使用wxsqlite3提供的加密动态库,通过sqlite simple delphi包装类连接sqlite3.dll,自己扩展了sqlite simple delphi包装类,方便Delphi调用,还增加了CheckDbIsEncrypt函数,判断数据库有没有加密。具体使用请参考...

    wxsqlite3-3.0.6.1.zip

    wxSQLite3 is a C++ wrapper around the public domain SQLite 3.x database and is specifically designed for use in programs based on the wxWidgets library.

    wxSqlite3.3.0.0

    1. `sqlite3_key` 函数:此函数用于在首次打开一个数据库文件时设置加密密钥。它接受三个参数:数据库句柄、加密密钥的缓冲区指针和密钥的长度。通过调用这个函数,SQLite将使用提供的密钥对数据库的所有内容进行...

    wxsqlite.rar

    【wxsqlite3-3.3.1】是这个压缩包中的主要组件,很可能是一个特定版本的SQLite加密库或者是一个集成加密功能的SQLite驱动程序。wxsqlite3可能是一个增强版的SQLite库,它支持对SQLite数据库进行加解密操作。这个版本...

    sqlite3070701_wxSQLite3.zip

    SQLite3070701_wxSQLite3.zip是一个压缩包,包含针对Windows平台的最新SQLite数据库引擎与wxSQLite3的结合体。SQLite是一个轻量级的、自包含的、无服务器的、零配置的SQL数据库引擎,而wxSQLite3是wxWidgets库的扩展...

    sqlite3+wxsqlite3+vs2008生成加密功能的数据库静态类库

    在本文中,我们将探讨如何使用SQLite3、wxSQLite3以及Visual Studio 2008来创建一个具有加密功能的数据库静态类库。SQLite3是一个轻量级的嵌入式SQL数据库引擎,而wxSQLite3是基于wxWidgets库的SQLite3接口封装,...

    wxsqlite3:wxSQLite3-wxWidgetsSQLite3数据库包装器(包括SQLite3加密扩展)

    wxSQLite3-SQLite的轻量级包装wxSQLite3是围绕公共域SQLite 3.x数据库的C ++包装,并且专门设计用于基于wxWidgets库的程序。 wxSQLite3不会尝试隐藏基础数据库,相反,当前SQLite3版本的几乎所有特殊功能都受支持,...

    wxsqlite3_网上很难下载的版本_2.1.1.zip

    一个C++写的sqlite3.dll的扩展,这是最新版本,编译后的sqlite3.dll也是最新的3.76版,具有AES128和256的加密扩展,通过sqlite3_rekey函数调用就能直接实现对sqlite数据库的加密,非常方便,sqlite3目录下有直接编译...

Global site tag (gtag.js) - Google Analytics