现在我有一个文本C:\\test.sql
里面存储的信息每一行为一个数据库信息,其中每行又包括多个数据表,多个数据表属性
大概格式如下:[D]库1,DB1[T]表1,T1[A]属性1,char,10[A][A]属性2,long,10[A][T]表2,T2[A]属性1,int,10[A]
【D】表示数据库名称(中文名,英文名)【T】表示数据表名称(中文名,英文名)【A】表示属性(包括名称,数据类型和长度)
现在我逐行从文本中提取每个数据库的信息,要求把这些信息都写到list中暂存,以便对针对某个数据库或者数据表或者属性进行添加,删除,修改等操作。怎么用LIST存这些数据啊?要多个list还是一个list呢?我没有用过CStringlist,不知道从何下手?
请大家帮帮忙,很急!!!我现在这里谢过了!

解决方案 »

  1.   

    CStringlist list;保存:
    while()
    {  list.AddTail( );}读取:
       for( pos = list.GetHeadPosition(); pos != NULL; )
       {
        list.GetNext( pos ) ;
      }
      

  2.   

    CObject 
     └CList template < class TYPE, class ARG_TYPE > class CList : public CObject
    ----------------------------------------------------------------------------看你最小的数据单位是什么了。如果是表的话,你可以创建一个类来写数据表的属性。然后用类对象来表示一系列的数据表啊、
    Class CListData
    {
      public:
    CString m_strDataBase;
    ............//添加这个表中的属性
    int m_A[10];
    }声明list
    Clist<CListData, CListData&>m_DataList;用的时候,查找元素和删除添加元素的函数都要自己写了。
      

  3.   

    按照文本的结构来。具体实现上多个list或单个list都是可以的!
    还可以考虑下list嵌套,外层lint表示行,内层对象表示一个行的数据,可以是个类/结构,其中list成员保存各属性。原则:把存储模型和物理模型保持一致是最简单的!