MiniSQL.cpp
上传用户:lkd6667
上传日期:2015-05-13
资源大小:1448k
文件大小:2k
源码类别:

其他数据库

开发平台:

C/C++

  1. #include "MiniSQL.h"
  2. extern _M_Buffer Buffer;
  3. extern unsigned int BTreeNodeSize;
  4. extern char* ErrorMessage[];
  5. extern char CurLocation[256];
  6. extern char CurRelationName[33];
  7. extern unsigned int  SizeOfPageHead;
  8. void Init_MiniSQL();
  9. void Run_MiniSQL();
  10. void Exit_MiniSQL();
  11. int main()
  12. {
  13.   Init_MiniSQL();   //初始化配置
  14.   Run_MiniSQL();    //程序的主体
  15.   Exit_MiniSQL();   //退出
  16.   return 1; 
  17. }
  18. void Init_MiniSQL()
  19. {
  20.   std::cout<<"                *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*n";
  21.   std::cout<<"                |            WELCOME TO USE  MINISQL!              |n";
  22.   std::cout<<"                |                                                  |n";
  23.   std::cout<<"                |            2007-6          |n";
  24.   std::cout<<"                *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*n";
  25.   Buffer.Start();  // initialize the buffer
  26. }
  27. void Exit_MiniSQL()
  28. {
  29.   Buffer.End();    // close the buffer
  30.   return;
  31. }
  32. void Run_MiniSQL()
  33. {
  34.   MSG msg = DEFAULT;  // make msg != QUIT  
  35.   while(msg!= QUIT)  // quit the program
  36.   { 
  37.     try
  38.     { 
  39.       TB_Create_Info* pCreateInfo;
  40.       TB_Select_Info* pSelectInfo;
  41.       TB_Insert_Info* pInsertInfo;
  42.       TB_Update_Info* pUpdateInfo;
  43.       TB_Delete_Info* pDeleteInfo;
  44.       // get commmand from API and execute according operation
  45.       msg = GetCommand(&pCreateInfo,&pSelectInfo,
  46.                        &pInsertInfo,&pUpdateInfo,&pDeleteInfo);
  47.       
  48.       switch(msg)
  49.       {
  50.         case CREATE :  Create( *pCreateInfo );   break;
  51.         case SELECT :  Select( *pSelectInfo );   break;
  52.         case INSERT :  Insert( *pInsertInfo );   break;
  53.         case UPDATE :  Update( *pUpdateInfo );   break;
  54.         case DELETE :  Delete( *pDeleteInfo );   break;
  55.         case DROP   :  Ctrl_DropTB();            break;
  56.         case DROPDB :  Ctrl_DropDB();            break;
  57.         case QUIT   :  break;
  58.         default     :  break;
  59.       }
  60.     }
  61.         
  62.       catch (int ERROR_CODE)
  63.       { 
  64.         //print the error message
  65.         DispatchError(ERROR_CODE);  
  66.       }
  67.   }
  68.   return;
  69. }