如何使用csv文件hierarchyicaly作为数据库?

时间:2013-05-24 17:12:16

标签: c# database text

我在单独的进程中使用csv文件作为数据库。我只存储所有数据或以单一关系读取数据网格中的所有数据。每个txt文件中的每个字段都是一个且唯一的数字从零开始。

//While reaching countries, i read allcountries.txt, 
//while reaching cities, i read allcities.txt       
//while reaching places i read allplaces.txt.

但是一个国家有很多城市,一个城市有很多地方。然而,我没有使用任何关系。我想用,我知道有一些需要。如何通过添加一个额外列的所有文本文件来获取读写数据?

是否可以在没有SQL查询的情况下访问数据?

4 个答案:

答案 0 :(得分:0)

CSV文件适用于质量输入和质量输出。它们不适合点操纵或维持关系。考虑使用数据库。 SQLite可能对您的应用程序有用。

答案 1 :(得分:0)

文本文件没有SELECTJOIN的任何机制。你将处于一个相当陡峭的劣势。

但是,LINQ使您能够以类似SQL的方式搜索对象集合,并且您当然可以创建具有关系的实体。应用程序(无论您正在构建什么)必须在应用程序启动时从文本文件加载所有内容。由于您的代码将进行搜索,因此必须加载实体(来自文本文件)和内存。

这可能是也可能不是愉快或有效的体验,但如果你开始用文本文件替换SQL,那并非不可能。

答案 2 :(得分:0)

根据您的评论,使用XML而不是CSV会更有意义。这符合您对人类和机器可读的要求,XML具有很好的内置库,可用于搜索,操作,序列化等。

答案 3 :(得分:0)

你可以在CSV文件中使用SQL查询:How to use SQL against a CSV file,我已经完成了阅读但从不写作,所以我不知道这是否适合你。