把文件导入到数据库的关闭文件流的小错误
就是运行到最后的MessageBox的时候出现
这是怎么回事,关于关闭的,请详细解释一下,谢谢!!
private void button1_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "文本文件|*txt";
if (ofd.ShowDialog() != true)
{
return;
}
string filename = ofd.FileName;
IEnumerable<string> lines = File.ReadLines(filename, Encoding.Default);
foreach (var line in lines)
{
string[] segs = line.Split('|');
string name = segs;
string age = segs;
SqlHelper.ExecuteNonQuery("insert into tbl_Import (Name,Age) values(@Name,@Age)",
new SqlParameter("@Name", name),
new SqlParameter("@Age", Convert.ToInt32(age)));
}
MessageBox.Show("成功导入" + lines.Count() + "条数据");
}
已解决
File.ReadLines(path)本质上就是使用了一个文件流读取,只是读取第一行数据,而且放入using块中,所以应该会自动关闭的(一旦退出using块)。
如果要读取所有行数据,应该对File.ReadLines(path)进行循环遍历,读取所有行数据。
代码中貌似无法看出啥异常,你可以尝试使用File.ReadAllLines(path) {:2_26:} :)
页:
[1]