在数据库中加载CSV文件

本文关键字:CSV 文件 加载 数据库 | 更新日期: 2023-09-27 18:07:50

我刚开始学习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]订购的,新订单正好在u型管(|)之后。

这是我得到的:

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

但是这会将所有的文本加载到一个textBox中。我正在考虑将csv中的数据(用','分隔)加载到不同的文本框中,然后将文本框的值加载到数据库中。但我猜那不是最好的办法。

对我来说,将CSV中的所有数据加载到数据库的最佳方法是什么?

非常感谢你的提示

在数据库中加载CSV文件

就像在pipe字符上分割一样,您可以在逗号上分割每个字符串。

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
}

但是,如果字段中出现逗号会发生什么呢?

我将用CSV中的信息加载DataTable。然后创建到数据库的连接,并将该DataTable插入到数据库中。这个链接似乎可以做你想做的事情,有一些好的代码示例:http://www.codeproject.com/Articles/11435/Importing-CSV-Data-and-saving-it-in-database或http://www.codeproject.com/Articles/9258/A-Fast-CSV-Reader。