马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

把文件导入到数据库的关闭文件流的小错误

  [复制链接]
查看3223 | 回复3 | 2013-8-29 22:21:43 | 显示全部楼层 |阅读模式

就是运行到最后的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[0];
                string age = segs[1];

                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() + "条数据");

        }
.NET--小白 | 2013-8-29 22:36:47 | 显示全部楼层
已解决

File.ReadLines(path)本质上就是使用了一个文件流读取,只是读取第一行数据,而且放入using块中,所以应该会自动关闭的(一旦退出using块)。
如果要读取所有行数据,应该对File.ReadLines(path)进行循环遍历,读取所有行数据。
代码中貌似无法看出啥异常,你可以尝试使用File.ReadAllLines(path)
ibcadmin | 2013-8-29 22:49:12 | 显示全部楼层
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
ibcadmin | 2013-9-1 11:08:24 | 显示全部楼层
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则