假意用XML吧!这样可能要方便点。
<index name ="1">
,,,,,,,,,,,,,,,,,,,,,,,,,
</index>
<index name="2">
,,,,,,,,,,,,,,,,,
</index>
这样我想你读取时要方便点吧!要不然就太夸张了。
比如说一个文本文件。你要一行行读。还得有个记数器。比如我要读第10行。当计算器为10才取内容。我觉得这样比较麻烦。:)

解决方案 »

  1.   

    xml的读写:
    using System;
    using System.Data;
    using System.IO;
    using System.Xml;
    DataSet myDataSet=new DataSet();
    FileStream fsReadXml=new FileStream(myFilename,FileMode.Open);
    XmlTextReader myXmlReader=new XmlTextReader(fsReadXml);
    myDataSet.ReadXml(myXmlReader);
    myXmlReader.Close();
    //提出当前选票的个数的字符
    string votes=myDataSet.Tables[1].Rows[answer-1].ItemArray[1].ToString();
    int votesInt=int.Parse(votes);//转化为整数
    //int votesInt=Votes[answer];
    DataRow myVotesRow=myDataSet.Tables[1].Rows[answer-1];//提取当前操作行
    myVotesRow["Votes"]=(votesInt+1).ToString();//修改
    StreamWriter myStream=new StreamWriter(myFilename);//建立写流
    myDataSet.WriteXml(myStream,XmlWriteMode.IgnoreSchema);//保存文件
    myStream.Close();
      

  2.   

    设计思路:其实主要是索引文件的设计问题,这就涉及你的索引数据是怎样的,如果你的索引数据是比较短小的,你可以试着做定长记录(这样可以进行顺序文件读写,效率较高),由于索引文件应该是排好序的,所以可能涉及到你的索引更新时(如增加或删除记录时)要做比较多的工作索引文件的结构可以为:索引数据(定长)+ 内容文件内的偏移量(或称地址),由于内容文件随机读写,因此不必整个文件读入。对于记录的删除,你可以先对索引文件做标记,然后临时在内容文件中填入空白字符解决,再在适当的时候对内容文件做重整,以去掉无用的空白,释放硬盘空间。(这个实际上是数据库设计的一般方法)如果内容文件确实够大,你还可以考虑压缩数据的存储方法,处理过程与上述类似。
    如果需要对结构加密,还可以考虑加密存储,处理过程仍然是上述的方法。XML效率太低,不是一种特别有效的存储结构,不建议使用。只是我仍然没明白你为何要自己设计数据库,现成的已经足够可用了,还有免费的。
      

  3.   

    ?????
    说的太大了,我可不想自己设计数据库,不过是在pocket pc上数据库太慢了点,所以要自己读写文件!也没这么复杂,关键是如何定位到自己想到读的位置!
    好像用peek,seek,给点建议与例子吧!