• 大小: 2.01MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-14
  • 语言: C/C++
  • 标签: MiniSQL  

资源简介

数据库设计这门课的课程设计,是我自己做的,用C++实现,在VC2008上运行通过

资源截图

代码片段和文件信息

/************************些文件包括MiniSQL中API类里面的函数实现************************************/
/************************作者:陈矫彦  时间:2009年10月*********************************************/
#include “stdafx.h“
#include “API.h“
#include “CatalogManager.h“
#include 
#include 
#include 

#define UNKNOWN_FILE 8                                 //三个宏定义,用于定义文件类型
#define TABLE_FILE 9   
#define INDEX_FILE 10

using namespace std;
class CatalogManager;
class RecordManager;


extern CatalogManager cm;                             //对全局对象的外部声明

//打印一个表中所有的记录和打印的记录数
void API::printRecord(string tableName)               
{
//查找字典信息,如果文件不存,直接出错提示
if(cm.findFile(tableName)==TABLE_FILE)
{
int m;
m=rm.selectRecord(tableName);
cout< }
else
cout<<“There is no table “<}

//根据一个where条件打印表中的记录和打印的记录数
void API::printRecord(string tableNamestring colName1string cond1string operater1)
{
//查找字典信息,如果文件不存,直接出错提示
if(cm.findFile(tableName)==TABLE_FILE)
{
int m;
m=rm.selectRecord(tableNamecolName1cond1operater1);
cout< }
else
cout<<“There is no table “<}

//根据两个where条件打印表中的记录和打印的记录数
void API::printRecord(string tableNamestring colName1string cond1string operater1
string colName2string cond2string operater2int logic)
{
//查找字典信息,如果文件不存,直接出错提示
if(cm.findFile(tableName)==TABLE_FILE)
{
int m;
m=rm.selectRecord(tableNamecolName1cond1operater1colName2cond2operater2logic);
cout< }
else
cout<<“There is no table “<}

//向表中插入入记录
void API::insertRecord(string tableNamevector v)
{
//查找字典信息,如果文件不存,直接出错提示
if(cm.findFile(tableName)!=TABLE_FILE)
{
cout<<“There is no table “< return ;
}
vector type;
type=cm.getCollType(tableName);

//s用来作为记录的暂时存放数组
char s[2000];
memset(s02000);
char *p;
int pos=0;
for(unsigned i=0;i {
//如果类型超出临时数组的长度
if(cm.calcuteLenth2(type.at(i))+pos>2000)
{
cout<<“Failed to insert. The record is too long“< break;
}
//如果是整型变量,则将整型转为char型以char的字节形式存入数组
if(type.at(i)==“int“)
{
int_t t;
t.value=atoi(v.at(i).c_str());
p=(char *)&t;
for(int j=0;j {
s[pos]=*p;
p++;
}
}
//如果是float形变量,则将float转为char型,以char的字节形式存入数组
else if(type.at(i)==“float“)
{
float_t tt;
tt.value=(float)atof(v.at(i).c_str());
p=(char *)&tt;
for(int j=0;j {
s[pos]=*p;
p++;
}
}
//如果是字符型的变量,直接进行字节存储
else
{
//如果实际输入的string长于定义的char长度,则报错。
if(v.at(i).length()>(unsigned int)cm.calcuteLenth2(type.at(i)))
{
cout<<“Insert Failed. The string of “< break;
}
const char * cp;
cp=v

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      23392  2009-11-15 08:36  MinSQL\API模块设计说明.docx

     文件      28572  2009-11-12 15:05  MinSQL\BufferManager模块设计说明.docx

     文件      43913  2009-11-07 00:19  MinSQL\CatalogManager模块设计说明.docx

     文件      23462  2009-11-15 10:31  MinSQL\IndexManager模块设计说明.docx

     文件      48661  2009-11-13 18:27  MinSQL\Interpreter模块设计说明.docx

     文件     268800  2009-11-15 16:02  MinSQL\MiniSQL_工程_VC2008\Debug\MiniSQL.exe

     文件    1182600  2009-11-15 16:02  MinSQL\MiniSQL_工程_VC2008\Debug\MiniSQL.ilk

     文件    2001920  2009-11-15 16:02  MinSQL\MiniSQL_工程_VC2008\Debug\MiniSQL.pdb

     文件       7938  2009-11-15 15:52  MinSQL\MiniSQL_工程_VC2008\MiniSQL\API.cpp

     文件       1817  2009-11-14 20:17  MinSQL\MiniSQL_工程_VC2008\MiniSQL\API.h

     文件       9036  2009-11-15 08:28  MinSQL\MiniSQL_工程_VC2008\MiniSQL\BufferManager.cpp

     文件       1838  2009-11-12 09:30  MinSQL\MiniSQL_工程_VC2008\MiniSQL\BufferManager.h

     文件      12621  2009-11-10 21:06  MinSQL\MiniSQL_工程_VC2008\MiniSQL\CatalogManager.cpp

     文件       2956  2009-11-12 08:41  MinSQL\MiniSQL_工程_VC2008\MiniSQL\CatalogManager.h

     文件        103  2009-11-15 16:26  MinSQL\MiniSQL_工程_VC2008\MiniSQL\db.info

     文件          0  2009-11-15 16:13  MinSQL\MiniSQL_工程_VC2008\MiniSQL\ddd

     文件     426482  2009-11-15 16:02  MinSQL\MiniSQL_工程_VC2008\MiniSQL\Debug\API.obj

     文件      63393  2009-11-15 08:28  MinSQL\MiniSQL_工程_VC2008\MiniSQL\Debug\BufferManager.obj

     文件       7862  2009-11-15 16:02  MinSQL\MiniSQL_工程_VC2008\MiniSQL\Debug\BuildLog.htm

     文件     839191  2009-11-12 15:05  MinSQL\MiniSQL_工程_VC2008\MiniSQL\Debug\CatalogManager.obj

     文件     344810  2009-11-14 23:41  MinSQL\MiniSQL_工程_VC2008\MiniSQL\Debug\Interpreter.obj

     文件        663  2009-10-29 23:11  MinSQL\MiniSQL_工程_VC2008\MiniSQL\Debug\MiniSQL.exe.embed.manifest

     文件        728  2009-10-29 23:11  MinSQL\MiniSQL_工程_VC2008\MiniSQL\Debug\MiniSQL.exe.embed.manifest.res

     文件        621  2009-11-15 16:02  MinSQL\MiniSQL_工程_VC2008\MiniSQL\Debug\MiniSQL.exe.intermediate.manifest

     文件     327774  2009-11-15 16:02  MinSQL\MiniSQL_工程_VC2008\MiniSQL\Debug\MiniSQL.obj

     文件    3211264  2009-11-05 18:10  MinSQL\MiniSQL_工程_VC2008\MiniSQL\Debug\MiniSQL.pch

     文件         67  2009-11-15 16:02  MinSQL\MiniSQL_工程_VC2008\MiniSQL\Debug\mt.dep

     文件     279480  2009-11-14 20:17  MinSQL\MiniSQL_工程_VC2008\MiniSQL\Debug\RecordManager.obj

     文件      12501  2009-11-05 18:10  MinSQL\MiniSQL_工程_VC2008\MiniSQL\Debug\stdafx.obj

     文件     314368  2009-11-15 16:02  MinSQL\MiniSQL_工程_VC2008\MiniSQL\Debug\vc90.idb

............此处省略48个文件信息

评论

共有 条评论