• 大小: 376KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-15
  • 语言: C/C++
  • 标签: DBMS系统  

资源简介

该系统使用C++编程语言实现DBMS系统的基本功能,包括建表,插入,删除,查询,更新表等,基本符合哈工大软件设计开发和实践二的要求。

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 

using namespace std;

void create_table( string str1 );
void insert_into( string str1 );
void delete_from( string str1 );
void select( string str1 );
void display( char* tablename );
void update_table( string str1 );

int number_of_property(string str);  //计算属性的个数
int find_property_place( string cpname_1string tablename_1 );   //返回属性在文件中的位置是第几个
int readmodel(string tablename_1);  //找是否有名为tablename_1的表
int complex_condition_ornot( string cpname_1string condition_1string cpvalue_1string shuxing_1);//判断是否满足条件
int check_keyword( string st1char* tablename );   //插入的元组中主键是否已经存在

string yuanzu;

int main()
{
    string str1str2;
    cout << “*******************Welcom to our database management system!*******************“ << endl
         << endl << “If you want to leave please input:leave.“ << endl << endl
         << endl << “*******************Let‘s open a fantistic database journey!********************“ << endl;
    while(1)
    {
        cout << “sql->“;
        getline(cin str1);
        if(str1.compare(“leave“)==0)
        {
            cout << “See you next time!“ << endl;
            break;
        }
        int i=0;
        while(str1[i]!=‘ ‘)
            i++;
        str2=str1.substr(0i);
        if( str2.compare( “create“ )==0 )
            create_table(str1);
        if( str2.compare( “insert“ )==0 )
            insert_into(str1);
        if( str2.compare( “delete“ )==0 )
            delete_from(str1);
        if( str2.compare( “select“ )==0 )
            select(str1);
        if( str2.compare( “update“ )==0 )
            update_table(str1);
        cout << endl << “******************************************************************************“ << endl;
    }
    return 0;
}
void create_table( string str1 )
{
    char modelstr[50];  //存入model中的表的信息
    str1.copy( modelstr str1.length()-13 13 );
    modelstr[str1.length()-13] =‘\0‘;
    FILE *fp;
    if((fp=fopen(“D:\\model.txt““at+“))==NULL)
        cout << “can‘t open the file!“ << endl;
    fputs(modelstr fp);
    fputc(‘\n‘fp);
    fclose(fp);
    string tmp=modelstr;
    int i=0;
    while( tmp[i]!=‘(‘ )
        i++;
    char filename[20];
    tmp.copy( filename i 0);
    filename[i]=‘\0‘;
    char s[30];
    sprintf(s “D:\\%s.txt“filename);
    if((fp=fopen(s“at+“))==NULL)
        cout << “can‘t open the file!“ << endl;
    fclose(fp);
}
void insert_into( string str1 )
{
    //找出表名
    int i=0startend;
    string property;
    char property1[20];
    while( str1[i]!=‘(‘)
        i++;
    char tablename[20];
    str1.copy(tablenamei-1212);
    i=0;
    while( tablename[i]!=‘ ‘ )
        i++;
    tablename[i]=‘\0‘;
    string tablename_1=tablename;   //要插入的table的名字
    FILE *fp;
    char s[30];
    sprintf(s “D:\\%s.txt“tablename);
    if((fp=fopen(s“rt“))==NULL)
       

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

     文件     998852  2013-11-01 16:14  DBMS_happy\bin\Debug\DBMS_happy.exe

     文件       1065  2013-10-25 15:05  DBMS_happy\DBMS_happy.cbp

     文件        266  2013-11-01 15:59  DBMS_happy\DBMS_happy.depend

     文件        240  2013-11-02 14:39  DBMS_happy\DBMS_happy.layout

     文件      41096  2013-11-01 16:14  DBMS_happy\main.cpp

     文件     112361  2013-11-01 16:14  DBMS_happy\obj\Debug\main.o

     文件     179251  2013-11-01 17:37  DBMS_happy\report.doc

     目录          0  2013-11-18 19:33  DBMS_happy\bin\Debug

     目录          0  2013-11-18 19:33  DBMS_happy\obj\Debug

     目录          0  2013-11-18 19:33  DBMS_happy\bin

     目录          0  2013-11-18 19:33  DBMS_happy\obj

     目录          0  2013-12-16 21:45  DBMS_happy

----------- ---------  ---------- -----  ----

              1333131                    12


评论

共有 条评论

相关资源