资源简介
数据库设计这门课的课程设计,是我自己做的,用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.em
文件 728 2009-10-29 23:11 MinSQL\MiniSQL_工程_VC2008\MiniSQL\Debug\MiniSQL.exe.em
文件 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个文件信息
- 上一篇:华中8型系统二次开发手册
- 下一篇:Windows个人防火墙的设计与实现
评论
共有 条评论