从文本文件导入数据的更快方法

本文关键字:方法 数据 文本 文件 导入 | 更新日期: 2023-09-27 18:05:33

我必须将数据从文本文件导入到平面文件数据库。我确信有一种更快的方法可以将所有数据加载到数据库中,但我不知道如何。

private void ImportButton_Click(object sender, EventArgs e)
{
    string Path = string.Empty;
    OpenFileDialog ofd = new OpenFileDialog();
    ofd.Filter = "Text File|*.txt";
    ofd.ShowDialog();
    if (ofd.FileName == string.Empty) return
    Path = ofd.FileName;
    string data;
    using (var sr = new StreamReader(Path))
    {
        data = sr.ReadToEnd();
    }
    var items = data.Split(new[] { "'r'n" }, StringSplitOptions.RemoveEmptyEntries);
    var count = 0;
    foreach (var info in items.Select(ItemInfo.FromText).Where(info => info != null))
    {
        count++;
        info.Index = ++Envir.ItemIndex;
        Envir.ItemInfoList.Add(info);
    }
    MessageBox.Show(count + " Items have been imported");
    UpdateInterface(true);
}

从文本文件导入数据的更快方法

如果你是通过c#做这个,那么我推荐SqlBulkCopy。不久前,我对另一个问题给出了类似的答案。请参阅该链接,查看我过去如何实现它的示例。

如果你想知道其他可用的选项,那么MSDN在他们的数据加载指南中有一个很好的选项列表;http://msdn.microsoft.com/en-us/library/dd425070 (v = sql.100) . aspx