• 大小: 2.64MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-13
  • 语言: 数据库
  • 标签: SQL数据库  

资源简介

基本数据库设计,无图形界面,能实现建表,插入,删除,排序等。

资源截图

代码片段和文件信息

#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.embed.manifest

     文件        468  2008-11-08 16:19  miniSQL\Debug\miniSQL.exe.embed.manifest.res

     文件        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个文件信息

评论

共有 条评论