1

我在单独的进程中使用 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

4 回答 4

0

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

于 2013-05-24T17:16:16.630 回答
0

文本文件没有SELECTs 或JOINs 的任何机制。你将处于非常不利的地位。

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

这可能是一种愉快或有效的体验,也可能不是,但如果您打算用文本文件替换 SQL,这并非不可能。

于 2013-05-24T17:17:53.190 回答
0

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

于 2013-05-24T17:28:27.420 回答
0

您可以在 CSV 文件中使用 SQL 查询:How to use SQL against a CSV file,我这样做是为了阅读,但从来没有为了写作,所以我不知道这是否适合你。

于 2013-05-24T19:20:14.600 回答