1

我刚开始学习 C#,并制作了一些简单的应用程序。我现在正在处理的应用程序是一个读取数据并将数据输入(Access)数据库的应用程序。我成功连接到数据库,我可以向它输入数据。现在的问题。

我有一个包含数据(订单)的 csv 文件。我想将这些订单加载到数据库中。csv 文件如下所示:

Order 1: 2 cakes,01-01-2013,chocolate,Jan|Order 2: 5 cakes,01-08-2013,vanilla,Piet|

如您所见,它是按(与我的数据库表中的相同)排序的:[Order #]、[Amount]、[Date]、[KindOfCake]、[Buyer],新订单紧跟在半管 (|) 之后。

这就是我所拥有的:

String[] orders1= File.ReadAllText(@"c:\\orders.csv").Split('|');
for (int i = 0; i < orders1.Length; i++)
{
    textBox1.AppendText(orders[i] + Environment.NewLine);
}

但这会将所有文本加载到一个文本框中。我正在考虑将 csv 中的数据(用“,”分隔)加载到不同的文本框,然后将文本框的值加载到数据库中。但这不是我猜测的最佳方式。

将 CSV 中的所有数据加载到数据库中的最佳方式是什么?

非常感谢您的提示。

4

2 回答 2

2

就像您在管道字符上拆分一样,您可以在逗号上拆分每个字符串。

String[] orders = File.ReadAllText(@"c:\\orders.csv").Split('|');
foreach (string order in orders) {
    String[] orderFields = order.Split(',');
    // Now you have your fields, put them in the DB. No need to put them
    // into text boxes
}

但是,如果逗号出现在字段中会怎样?这不适用于这种情况。

于 2013-04-07T18:12:20.640 回答
1

DataTable我会从您的 CSV 中加载信息。然后创建与数据库的连接并将其插入DataTable数据库。此链接似乎可以执行您正在尝试的操作,并带有一些很好的代码示例: http: //www.codeproject.com/Articles/11435/Importing-CSV-Data-and-saving-it-in-databasehttp:// www.codeproject.com/Articles/9258/A-Fast-CSV-Reader

于 2013-04-07T18:12:31.913 回答