我必须将数据从文本文件导入到平面文件数据库。我确信有一种更快的方法将所有数据加载到数据库中,但我不知道如何。
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);
}
答案 0 :(得分:0)
如果您是通过C#进行此操作,那么我建议使用SqlBulkCopy。我不久前向另一个问题提供了similar answer。请参阅该链接,了解我过去如何实施它的示例。
如果您想了解其他可用选项,那么MSDN在其数据加载指南中提供了相当多的选项列表; http://msdn.microsoft.com/en-us/library/dd425070(v=sql.100).aspx