资源简介
基本数据库设计,无图形界面,能实现建表,插入,删除,排序等。
代码片段和文件信息
#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个文件信息
相关资源
- R语言连接oracle/mysql数据库脚本
- NoSql数据库redis、mongodb中文教程高清
- Struts框架 用户登录系统 连接MYsql数据
- 易买网项目sql数据库版
- SQL数据库宾馆管理系统 课程设计
- 银行ATM存款机SQL数据库设计
- SSM框架开发超市订单管理系统包含M
- 新闻管理系统源代码mysql数据库
- 宿舍管理系统SQL数据库+源代码
- 图书管理系统sql数据库
- MyBatis通过 JDBC连接 PostgreSQL数据库 最
-
解析wthrcdn.etouch的xm
l格式天气存入 - SQL数据库员工工资管理系统设计chm文
- MySQL数据库安装教程
- ssm后台管理系统框架(Spring mvc + myb
- ssm后台管理系统框架(Spring mvc + myb
- Mac上的Mysql数据库工具,中文破解版已
- spring+springmvc+mybatis搭建的一个华仪酒
- eclipse(springmvc+spring+hibernate)案例附
- 将mysql数据库结构同步到SQLITE的利器
- 明源售楼系统源码附带mysql数据库
- spring+springmvc+mybatis搭建的一个佳期酒
- MySql数据库MySql数据库
- spring+springmvc+mybatis搭建的一个酒店管
- spring+springmvc+mybatis搭建的一个典当系
- 基于SSM的在线学习在线课堂系统MySQ
- MySQL数据库基础与教程所有资源
- 商城web源码+mysql数据库。
- SQL数据库SQL Server基础知识思维导图最
- Angularjs(增删改+分页+弹框+Sql数据库
评论
共有 条评论