CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

miniSQL的策划

楼主StarfishXu(猫猫)2002-07-29 09:14:13 在 MS-SQL Server / 基础类 提问

一个小型access 问题点数:100、回复次数:4Top

1 楼_Freemanhu(阿人)回复于 2002-07-29 09:25:26 得分 100

User   Interface    
                                                  |  
                                    SQL   Interpreter  
                                                  |  
    Index   Manager       ---     Table   Manager  
                                    |  
                          Strorage   Manager     -------Buffer   Manager  
                                    |  
                          File   Manger    
   
  Top

2 楼_Freemanhu(阿人)回复于 2002-07-29 09:33:02 得分 0

typedef   struct   Result  
  {  
  unsigned   int   operation;  
  std::string   tablename;  
  std::string   condition;  
  std::string   subcondition;  
  unsigned   int   addor;  
  std::vector   <element>   column;  
  std::vector   <CAttribute>   attribute;  
  std::string   set;  
  }SQLResult;  
   
  class   CInterpreter      
  {  
  char*   m_szSQLString;  
  unsigned   m_nStringLength;  
  SQLResult   m_SQLResult;  
  bool   m_bError;  
  public:  
  bool   GetError()const;  
  CInterpreter(const   char*   SQLString);  
  const   SQLResult   GetSQLResult();  
   
  CInterpreter();  
  virtual   ~CInterpreter();  
   
  private:  
  bool   SetColumn();  
  bool   SetValue();  
  bool   SetSet();  
  bool   SetAttribute();  
  bool   SetCondition();  
  bool   SetFunction();  
  bool   SetOperation();  
  bool   Standardization(const   char   *SQLString);  
  bool   SetTable();  
  };Top

3 楼StarfishXu(猫猫)回复于 2002-07-29 09:33:03 得分 0

User   Interface    
                                                  |  
                                    SQL   Interpreter  
                                                  |  
    Index   Manager       ---     Table   Manager//这个干嘛的?  
                                    |  
                          Strorage   Manager     -------Buffer   Manager  
                                                                                        |  
                                                                              File   Manger    
   
  Top

4 楼_Freemanhu(阿人)回复于 2002-07-29 09:37:15 得分 0

功能:   负责表格的建立、查找、插入、删除、更新等操作  
  CTableMangager的结构:  
  class   CTableManager     //一个对象控制一张表  
  {  
  string   TableName,FileName;       //表名和文件名(表名+“.msql”)  
  CAttribute   Attributes[256];     //   储存属性名字和数据类型    
  unsigned   int   TupleNum;         //元组总数   初始值为0    
  unsigned   int   AttNum;         //   属性的个数  
  unsigned   int   TupleStartPos;   //   文件中开始存放元组的起始位置  
  CCommonType   NullCCommonType;   //   空的CCommonType对象  
  CCommonType*   pTemTuple;   //     临时存放一条记录  
  unsigned   int   FirstDeletedTuple; //第一个被delete的元组的位置  
  unsigned   int   DeletedTuples; //   deleted   元组的总数  
  unsigned   int   AttSize;   //   一个属性需要的字节数    
  unsigned   int   TupleSize;   //   一个元组需要的字节数  
  CIndexManager   Index;     //   索引  
  bool   WriteTuple(unsigned   int   startpos,const   CCommonType*   pTuple);//   将一条元组写入文件  
  bool   WriteStruct();   //   在文件中保存表的结构(属性名称与数据类型)  
  bool   ReadStruct();       //   从文件中读入表的结构  
  unsigned   int   GetFirstDeletedTuple();   //   读取第一个deleted   元组  
   
  public:  
  CTableManager();         //   构造函数  
  ~CTableManager();     //   析构函数  
  bool   SetTableName(const   string&   strTableName);//   设置表的名字,如果该文件存在则返回false   否则返回true  
  bool   CreateTable(const   string&   strCreateInfo);//   如果表格对应文件不存在则创建表格,存在则打开该文件  
  unsigned   int   GetAttribCount()   const   ;     //   返回属性个数  
  unsigned   int   GetTupleCount()   const   ;   //     返回元组个数  
  string   GetAttribName(unsigned   int   nAttribNum)   const   ;//   返回第   nAttribNum   个属性的名字  
  string   GetTableName()const   ;   //   返回表名  
  const   CCommonType*   GetTuple(unsigned   int   nTupleNum)   const   ;//   返回   nTupleNum-th   元组值    
  bool   Insert(const   CCommonType*   pTuple);     //     在表中插入一条元组  
  bool   Delete(unsigned   int   nTupleNum);     //   删除   nTupleNum-th   元组  
  bool   Search(const   string&   strExpression,   unsigned   int*   nTuple); //   搜索表,满足条件元组的记录号放在   nTuple数组中  
  bool   Update(unsigned   int   nTupleNum,   const   CCommonType*   pNewRecord);     //   用   pNewRecord   更新nTupleNum-th   元组  
  CCommonType     GetAttrib(unsigned   int   nTupleNum,   unsigned   int   nAttribNum)   const;   //   返回nTupleNum_th   元组中nAttribNum_th   属性值  
  CCommonType   GetAttrib(unsigned   int   nTupleNum,   const   std::string&   strAttribName)   const;   //   返回nTupleNum_th   元组中名字为strAttribName属值  
  bool   Drop();   //   删除表格    
  unsigned   int   GetAttribNum(const   char*   strAttribName)   const; //根据strAttribName返回这是第几个属性。  
  DATATYPE   GetAttribType(unsigned   int   nAttribNum)   const;//   返回nAttribNum_th   属性的数据类型    
  };  
  实现CTableManager的功能,主要分为两部分。  
  &#61557; 表格的结构(包括属性的个数、名称和数据类型)在文件中的存贮和读取。  
  &#61557; 元组在文件中的存贮。对元组的插入和删除的实现。  
  Top

5 楼_Freemanhu(阿人)回复于 2002-07-29 09:41:44 得分 0

功能:   负责表格的建立、查找、插入、删除、更新等操作  
  CTableMangager的结构:  
  class   CTableManager     //一个对象控制一张表  
  {  
  string   TableName,FileName;       //表名和文件名(表名+“.msql”)  
  CAttribute   Attributes[256];     //   储存属性名字和数据类型    
  unsigned   int   TupleNum;         //元组总数   初始值为0    
  unsigned   int   AttNum;         //   属性的个数  
  unsigned   int   TupleStartPos;   //   文件中开始存放元组的起始位置  
  CCommonType   NullCCommonType;   //   空的CCommonType对象  
  CCommonType*   pTemTuple;   //     临时存放一条记录  
  unsigned   int   FirstDeletedTuple; //第一个被delete的元组的位置  
  unsigned   int   DeletedTuples; //   deleted   元组的总数  
  unsigned   int   AttSize;   //   一个属性需要的字节数    
  unsigned   int   TupleSize;   //   一个元组需要的字节数  
  CIndexManager   Index;     //   索引  
  bool   WriteTuple(unsigned   int   startpos,const   CCommonType*   pTuple);//   将一条元组写入文件  
  bool   WriteStruct();   //   在文件中保存表的结构(属性名称与数据类型)  
  bool   ReadStruct();       //   从文件中读入表的结构  
  unsigned   int   GetFirstDeletedTuple();   //   读取第一个deleted   元组  
   
  public:  
  CTableManager();         //   构造函数  
  ~CTableManager();     //   析构函数  
  bool   SetTableName(const   string&   strTableName);//   设置表的名字,如果该文件存在则返回false   否则返回true  
  bool   CreateTable(const   string&   strCreateInfo);//   如果表格对应文件不存在则创建表格,存在则打开该文件  
  unsigned   int   GetAttribCount()   const   ;     //   返回属性个数  
  unsigned   int   GetTupleCount()   const   ;   //     返回元组个数  
  string   GetAttribName(unsigned   int   nAttribNum)   const   ;//   返回第   nAttribNum   个属性的名字  
  string   GetTableName()const   ;   //   返回表名  
  const   CCommonType*   GetTuple(unsigned   int   nTupleNum)   const   ;//   返回   nTupleNum-th   元组值    
  bool   Insert(const   CCommonType*   pTuple);     //     在表中插入一条元组  
  bool   Delete(unsigned   int   nTupleNum);     //   删除   nTupleNum-th   元组  
  bool   Search(const   string&   strExpression,   unsigned   int*   nTuple); //   搜索表,满足条件元组的记录号放在   nTuple数组中  
  bool   Update(unsigned   int   nTupleNum,   const   CCommonType*   pNewRecord);     //   用   pNewRecord   更新nTupleNum-th   元组  
  CCommonType     GetAttrib(unsigned   int   nTupleNum,   unsigned   int   nAttribNum)   const;   //   返回nTupleNum_th   元组中nAttribNum_th   属性值  
  CCommonType   GetAttrib(unsigned   int   nTupleNum,   const   std::string&   strAttribName)   const;   //   返回nTupleNum_th   元组中名字为strAttribName属值  
  bool   Drop();   //   删除表格    
  unsigned   int   GetAttribNum(const   char*   strAttribName)   const; //根据strAttribName返回这是第几个属性。  
  DATATYPE   GetAttribType(unsigned   int   nAttribNum)   const;//   返回nAttribNum_th   属性的数据类型    
  };  
  实现CTableManager的功能,主要分为两部分。  
  &#61557; 表格的结构(包括属性的个数、名称和数据类型)在文件中的存贮和读取。  
  &#61557; 元组在文件中的存贮。对元组的插入和删除的实现。  
  Top

相关问题

  • 大家来策划游戏
  • 谁有网站策划书?
  • 寻求推广策划...
  • 齐拉雅想策划一场暴乱
  • 光棍.com市场推广策划书
  • 策划2000元以下的happy5日游
  • 跪求网站项目策划
  • 各位,如何写网站的安全策划呢?
  • 如何建立一个网站?-策划、筹备、建站、宣传…………
  • 有没有人策划过电子杂志,求救!!

关键词

  • 属性
  • 文件
  • 数据
  • 表格
  • 结构
  • ccommontype
  • cinterpreter
  • ctablemanager
  • nattribnum
  • sqlresult

得分解答快速导航

  • 帖主:StarfishXu
  • _Freemanhu

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo