/*!
* @brief 创建数据库 库文件位置位于应用程序的输出目录
* @param [in] CDatabase *pDatabase
* @return bool
*/
//! [NewDatabase]
//在程序的运行目录创建数据库
bool NewDatabase(CDatabase *pDatabase)
{
if (pDatabase == nullptr)
{
return false;
}
//构造数据库的路径
wchar_t * curPath = new wchar_t[MAX_PATH_LENGTH];
wchar_t * pDBPath = new wchar_t[MAX_PATH_LENGTH];
wchar_t * pLogPath = new wchar_t[MAX_PATH_LENGTH];
ggp::CDatabase exampleDB(DB_CACHE_SIZE);
//获取程序输出目录
GetModuleFileName(nullptr, curPath, MAX_PATH_LENGTH);
//截断字符串
wchar_t * tmpPath = wcsrchr(curPath, L'\\');
*tmpPath = '\0';
//设置数据库文件及日志文件的地址
wcscpy_s(pDBPath, wcslen(curPath) + 1, curPath);
wcscpy_s(pLogPath, wcslen(curPath) + 1, curPath);
wcscat_s(pDBPath, MAX_PATH_LENGTH, L"\\exampleDB.gdb");
wcscat_s(pLogPath, MAX_PATH_LENGTH, L"\\exampleDB.log");
if( !pDatabase->New(pDBPath, pLogPath) )
{
return false;
}
delete [] pDBPath;
pDBPath = nullptr;
delete [] pLogPath;
pLogPath = nullptr;
delete [] curPath;
curPath = nullptr;
return true;
}
//! [NewDatabase]
创建数据库:GGDB代码实践

该篇博客详细介绍了如何使用GGDB库在应用程序的输出目录中创建数据库。通过提供的CDatabase指针,实现了创建数据库的功能,并返回操作成功与否的结果。
2701

被折叠的 条评论
为什么被折叠?



