资源简介
这是用C++模拟的一个数据库管理系统,适合初学者学习。
代码片段和文件信息
/******************************
* 数据库实验RDBMS -- TurboSQL *
* 作者:田敏求 *
* 班级:计科0305 *
* 学号:03281138 *
* 日期:2006.5 *
*******************************/
#include
#include
#include
#include
#include
#include
#include
#include
#include “TurboSQL.h“
using namespace std;
int main()
{
Table InputTable;
Column InputColumn;
string tempInputStringopstringfilepath;
ifstream inifin;
FILE * tempfp=NULL;
time_t ltime;
int ij;
int NumOfColumnTempStringIndexSemicolonIndex;
cout<<“数据库实验RDBMS --- TurboSQL“< cout<<“计科0305班 田敏求 03281138“< cout<<“Copyright(C) 2006 All rights reserved.“< cout<<“[Version : 1.0]“< time( <ime );
cout<<“Production on “<
inifin.open(“Settings.ini“);
if(!inifin.is_open())
ExceptionProc();
inifin>>rootpath;
inifin.close();
fTABout.open(string(rootpath+“tab.xdb“).c_str()ios_base::out | ios_base::app);
fTABin.open(string(rootpath+“tab.xdb“).c_str()ios_base::in);
if(!fTABout.is_open() || !fTABin.is_open())
ExceptionProc();
while(fTABin>>InputTable.tname)
{
fTABin>>NumOfColumn;
InputTable.Tablefp = NULL;
InputTable.ColumnList.clear();
for(i=0;i {
fTABin>>InputColumn.cname;
fTABin>>InputColumn.attribute;
InputTable.ColumnList.push_back(InputColumn);
}
TableList.push_back(InputTable);
filepath = rootpath + InputTable.tname + “.xdb“;
if((tempfp = fopen(filepath.c_str()“r+“))==NULL)
ExceptionProc();
TableList.back().Tablefp = tempfp;
}
fTABin.clear();
for(i=0;i {
while(!feof(TableList[i].Tablefp))
{
for(j=0;j {
if((TableList[i].ColumnList[j].attribute & 1)==0)
{
char * stringkey = new char[100];
fscanf(TableList[i].Tablefp“%s“stringkey);
TableList[i].ColumnList[j].charkey.push_back(string(stringkey));
delete stringkey;
}
else
{
int numkey;
fscanf(TableList[i].Tablefp“%d“&numkey);
TableList[i].ColumnList[j].intkey.push_back(numkey);
}
}
}
rewind(TableList[i].Tablefp);
for(j=0;j {
if((TableList[i].ColumnList[j].attribute & 1)==0)
TableList[i].ColumnList[j].charkey.pop_back();
else
TableList[i].ColumnList[j].intkey.pop_back();
}
}
do
{
InputString.erase();
cout<<“\nSQL>“;
while(cin>>tempInputString)
{
for(TempStringIndex=0;(TempStringIndex = tempInputString.find(“(“TempStringIndex)) != string::npos;TempStringIndex += 3)
tempInputString.replace(TempStringIndex1“ ( “);
for(TempStringIndex=0;(TempStringIndex = tempInputString.find(“)“TempStringIndex)) != string::npos;TempStringIndex += 3)
tempInputString.replace(TempStringIndex1“ ) “);
for(TempSt
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 67 2006-06-01 10:46 TurboSQL\Data\course.xdb
文件 90 2006-06-01 10:46 TurboSQL\Data\sc.xdb
文件 83 2006-06-01 10:46 TurboSQL\Data\student.xdb
文件 109 2006-06-01 10:46 TurboSQL\Data\tab.xdb
文件 193024 2006-06-08 18:34 TurboSQL\Doc\数据库实验(RDBMS)文档—计科0305_田敏求_03281138.doc
文件 17 2006-05-28 23:07 TurboSQL\Settings.ini
文件 74474 2006-06-26 15:33 TurboSQL\TurboSQL.cpp
文件 4371 2006-05-25 15:51 TurboSQL\TurboSQL.dsp
文件 522 2006-05-25 15:48 TurboSQL\TurboSQL.dsw
文件 1067 2006-06-26 15:33 TurboSQL\TurboSQL.h
文件 66560 2006-06-26 15:35 TurboSQL\TurboSQL.ncb
文件 53760 2006-06-26 15:35 TurboSQL\TurboSQL.opt
文件 4279 2006-06-26 15:35 TurboSQL\TurboSQL.plg
目录 0 2006-07-15 22:06 TurboSQL\Data
目录 0 2007-06-06 18:19 TurboSQL\Doc
目录 0 2007-06-07 19:50 TurboSQL
----------- --------- ---------- ----- ----
398641 17
- 上一篇:ImageBasicDemo.rar
- 下一篇:用c编写的最小二次方程序
相关资源
- 数据结构--队列实现舞伴配对问题 舞
- C++监控注册表源代码
- GE OPC Server
- c++实现的字符串替换功能
- 利用opencv实现的条形码检测与识别C
- C++实现朴素贝叶斯分类器
- 基于VC的网络爬虫程序
- 运动会成绩管理系统实验报告 C++编写
- UKF的C、C++代码实现
- VC++获取系统信息/获取OS/获取MAC/获取
- VC++五子棋程序源码VC6.0控制台下运行
- VC++编写USB接口通信程序
- vc++ tcp 客户端和服务器端
- 参考资料\\C++获取MP3文件信息.doc
- 简单的停车场收费 c++
- JPEG图片EXIF信息提取及缩略图显示VC
- shell.rar,一个用c++实现的具有基本完
- VS2010 C++配色方案 主题
- Qt-C++实现文件浏览器
- c++ MFC实现文件合成器功能,实现多种
- 图书管理系统C++65062
- c++ 记事本 源码
- c++头文件大全,很全哦,
- PCA和KPCA的Matlab和C++程序
- MFC中的多线程同步
- 山东科技大学C++数据库课程设计源代
- c++做的仪表盘非常逼真哦
- c++ 连接sql server 数据库代码
- 缓冲池的模拟(C++)
- c++版的连连看解释很详细
评论
共有 条评论