資源簡介
基本數據庫設計,無圖形界面,能實現建表,插入,刪除,排序等。

代碼片段和文件信息
#include?“Buffer_Manager.h“
#include?
#pragma?warning(disable:?4311)
#pragma?warning(disable:?4312)
bool?bmFileExists(const?char?*fileName)
{
WIN32_FIND_DATA?wfd;
HANDLE?hd?=?FindFirstFile(fileName?&wfd);
if?(hd?!=?INVALID_HANDLE_VALUE)
{
FindClose(hd);
if?(!(wfd.dwFileAttributes?&?FILE_ATTRIBUTE_DIRECTORY))?return?true;
}
return?false;
}
int?bmCreateFile(const?char?*fileName?bool?overWrite)
{
if?(bmFileExists(fileName))
{
if?(!overWrite)?return?-1;
bmDeleteFile(fileName);
}
HANDLE?fh?=?
CreateFile(fileName?FILE_ALL_ACCESS?FILE_SHARE_READ?0?CREATE_NEW?FILE_ATTRIBUTE_NORMAL?0);
return?(int)fh;
}
int?bmOpenFile(const?char?*fileName)
{
if?(!bmFileExists(fileName))?return?-1;
return?(int)
CreateFile(fileName?FILE_ALL_ACCESS?FILE_SHARE_READ?0?OPEN_EXISTING?FILE_ATTRIBUTE_NORMAL?0);
}
bool?bmCloseFile(int?fid)
{
return?(CloseHandle((HANDLE)fid)?!=?0);
}
bool?bmDeleteFile(const?char?*fileName)
{
return?(DeleteFile(fileName)?!=?0);
}
bool?bmReadFile(int?fid?void?*buffer?int?length)
{
DWORD?t;
while?(true)
{
if?(!ReadFile((HANDLE)fid?buffer?length?&t?0))?return?false;
if?((length?-=?t)?==?0)?break;
if?(t?==?0)?return?false;
buffer?=?(char?*)buffer?+?t;
}
return?true;
}
bool?bmWriteFile(int?fid?void?*data?int?length)
{
DWORD?t;
while?(true)
{
WriteFile((HANDLE)fid?data?length?&t?0);
if?((length?-=?t)?==?0)?break;
data?=?(char?*)data?+?t;
}
return?true;
}
SIZE64?bmGetFileSize(int?fid)
{
LARGE_INTEGER?t;
if?(!GetFileSizeEx((HANDLE)fid?&t))?return?-1;
return?(SIZE64)(t.QuadPart);
}
SIZE64?bmGetFileSizeEx(const?char?*fileName)
{
SIZE64?ret;
int?fid?=?bmOpenFile(fileName);
ret?=?bmGetFileSize(fid);
bmCloseFile(fid);
return?ret;
}
bool?bmSetFilePointer(int?fid?OFFSET64?offset)
{
LONG?low?high;
low?=?(LONG)offset;
high?=?(LONG)(offset?>>?32);
low?=?SetFilePointer((HANDLE)fid?low?&high?FILE_BEGIN);
return?(((OFFSET64)high?<32)?+?low?==?offset);
}
bool?bmSetEndOfFile(int?fid)
{
return?SetEndOfFile((HANDLE)fid)?!=?0;
}
bool?bmFileResize(int?fid?SIZE64?size)
{
if?(!bmSetFilePointer(fid?size))?return?false;
return?SetEndOfFile((HANDLE)fid)?!=?0;
}
bool?bmFileResizeEx(const?char?*fileName?SIZE64?size)
{
int?fid?=?bmOpenFile(fileName);
bool?ret?=?bmFileResize(fid?size);
bmCloseFile(fid);
return?ret;
}
bmBlockInfo?bmQueryBlockInfo(int?fid?OFFSET64?offset)
{
bmBlockInfo?ret;
ret.blockSize?=?0;
ret.dirty?=?0;
ret.blockHeadOffset?=?(offset?/?bmBlockSize)?*?bmBlockSize;
return?ret;
}
bool?bmPinBlock(int?fid?OFFSET64?offset)
{
return?false;
}
void?bmUnpinBlock(int?fid?OFFSET64?offset)
{
return?;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2796??2008-11-07?11:27??miniSQL\Buffer_Manager.cpp
?????文件???????1889??2008-10-26?10:25??miniSQL\Buffer_Manager.h
?????文件????????960??2008-10-19?16:35??miniSQL\common.h
?????文件??????32906??2008-11-09?00:10??miniSQL\Debug\Buffer_Manager.obj
?????文件???????7462??2008-11-09?00:10??miniSQL\Debug\BuildLog.htm
?????文件?????233692??2008-11-09?00:10??miniSQL\Debug\Index_Maneger.obj
?????文件?????122880??2008-11-09?00:10??miniSQL\Debug\miniSQL.exe
?????文件????????403??2008-11-08?16:19??miniSQL\Debug\miniSQL.exe.em
?????文件????????468??2008-11-08?16:19??miniSQL\Debug\miniSQL.exe.em
?????文件????????385??2008-11-09?00:10??miniSQL\Debug\miniSQL.exe.intermediate.manifest
?????文件?????679968??2008-11-09?00:10??miniSQL\Debug\miniSQL.ilk
?????文件?????155035??2008-11-09?00:10??miniSQL\Debug\miniSQL.obj
?????文件????1027072??2008-11-09?00:10??miniSQL\Debug\miniSQL.pdb
?????文件?????????65??2008-11-09?00:10??miniSQL\Debug\mt.dep
?????文件???????2757??2008-11-09?00:10??miniSQL\Debug\stdafx.obj
?????文件?????510976??2008-11-09?00:10??miniSQL\Debug\vc80.idb
?????文件?????258048??2008-11-09?00:10??miniSQL\Debug\vc80.pdb
?????文件????????688??2008-10-25?13:34??miniSQL\Index_Manager.h
?????文件??????27104??2008-11-09?00:02??miniSQL\Index_Maneger.cpp
?????文件???????1600??2008-11-08?23:45??miniSQL\miniSQL.cpp
?????文件???13429760??2008-11-09?00:11??miniSQL\miniSQL.ncb
?????文件????????878??2008-11-07?21:24??miniSQL\miniSQL.sln
????..A..H.?????28672??2008-11-09?00:11??miniSQL\miniSQL.suo
?????文件???????4503??2008-11-09?00:10??miniSQL\miniSQL.vcproj
?????文件???????1413??2008-11-09?00:11??miniSQL\miniSQL.vcproj.qteat-PC.qteat.user
?????文件???????1306??2008-11-07?21:24??miniSQL\ReadMe.txt
?????文件????????294??2008-11-07?21:24??miniSQL\stdafx.cpp
?????文件????????376??2008-11-07?21:24??miniSQL\stdafx.h
?????目錄??????????0??2008-11-09?00:10??miniSQL\Debug
?????目錄??????????0??2008-11-09?00:02??miniSQL
............此處省略3個文件信息
評論
共有 條評論