AFAIK,我們都必須通過數據庫包裝器/管理器(如sqliteman或CppSQLite)對數據庫進行編程。通用數據庫管理器(包裝)
但是,數據庫包裝是特定於一種類型的數據庫,這對程序員不方便,因爲在數據庫被卡住的情況下需要很多修改。
因此,我想寫一個通用的數據庫包裝,可以與各種數據庫接口。
我創建了一個類模板,如下所示。
template<typename T>
class ClsDatabaseManager
{
public:
// Pure Virtual Function
// All derived classes must implements it and forward the call
// appropriate database wrapper
connect(string);
disconnect(string);
Execute(string);
CreateTable(string);
CreateDatabase(string);
private:
T m_table;
T m_database;
};
class sqliteManager : public ClsDatabaseManager<T>
{
// Implement all the function by forward the call
};
因此,我將使用traits根據提供的模板參數獲取信息類型。
此模板參數是從此基類派生的類類型,如sqlite,postgresql和mysql。
所以,對我的設計有任何建議或建議。
如何創建通用數據庫接口並將調用轉發到特定的數據庫接口庫。
編輯:
什麼是ODBC和C++的數據庫訪問庫(索契)之間的不同?
請幫忙。
謝謝。
除了Soci,您還可以檢查SQLAPI ++。 SQLAPI ++不是免費的。 – 2010-10-12 12:27:00
感謝您的評論。 – peterwkc 2010-10-14 02:10:57