【发布时间】:2010-10-27 13:54:39
【问题描述】:
我正在使用 SQLite 来存储我的程序状态。 sqlite3_exec() 接受 SQL 查询作为字符串。所以我有很多代码通过连接大量 CString 实例来构建此类查询,并且感觉我做错了什么。
在 SQLite 和 MFC 中提供的原语中,有没有更好的方法来做到这一点?
【问题讨论】:
我正在使用 SQLite 来存储我的程序状态。 sqlite3_exec() 接受 SQL 查询作为字符串。所以我有很多代码通过连接大量 CString 实例来构建此类查询,并且感觉我做错了什么。
在 SQLite 和 MFC 中提供的原语中,有没有更好的方法来做到这一点?
【问题讨论】:
This excellent piece of code 为 SQLite3 提供了一个不错的 C++ 包装器。它有一个非常好的绑定方法,可以从您的代码中节省很多不必要的行(在本例中为 CStrings)。看看这个;还有很多例子。
【讨论】:
我认为没有办法利用 MFC 设施以更清晰的方式访问 SQLite API。
由于 SQLite 接口是面向 C 的,最好使用包装 C++ 类封装访问,您可以使用 普通的字符数组和sprintf来填充这个类中的动态值(尽管你可以继续使用CStrings......如果你发现它们更清晰)。
我们在工作中,有一个封装了访问的类,让我们不必显式构建任何 sql 语句。
nhaa123 引用的示例值得一票!
【讨论】: