问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

.NET实现(把文本文件中的数据导入到数据库)报错提示:无法从已关闭的 TextReader 中读取。

发布网友 发布时间:2022-04-08 20:09

我来回答

2个回答

热心网友 时间:2022-04-08 21:39

 /// <summary>
    /// 创建并获取目录,主要用于用户文件上传的目录,目录创建在resources/upload下
    /// </summary>
    /// <param name="customize">自定义类别可以是空NULL,此参数不为空时在upload下会再新建一层目录,如:adminPic则返回../resources/upload/adminPic/年/月/</param>
    /// <returns>../resources/upload/adminPic/年/月/</returns>
    public static string getAndCreatePath(string customize)
    {
        string path = HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath + "/resources/upload/" + ((customize == string.Empty) ? (customize.ToString() + "/") : ("")) + DateTime.Now.Year + "/" + DateTime.Now.Month + "/");
        try
        {
            if (!File.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            return path;
        }
        catch (Exception)
        {
            return HttpContext.Current.Server.MapPath(ConfigurationSettings.AppSettings["errorPath"]).ToString();
        }
    }
    /// <summary>
    /// 文本数据导入
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void But_importChinaBank_Click(object sender, EventArgs e)
    {
       
       if (flChinaBank.PostedFile.FileName == "")
        {
            Page.ClientScript.RegisterStartupScript(this.GetType(), "1", "<script>alert('导入的文本文件不存在!');</script>");

        }
        else
        {

            string FilePath = getAndCreatePath("");
            string FileName = DateTime.Now.Ticks.ToString();
            //string tableName;
            string postFileName;//后缀名
            string newName;
            try
            {
                int pos = flChinaBank.PostedFile.FileName.LastIndexOf(".") + 1;
                postFileName = flChinaBank.PostedFile.FileName.Substring(pos, flChinaBank.PostedFile.FileName.Length - pos);//后缀名
                newName = FilePath + FileName + "." + postFileName;
                flChinaBank.PostedFile.SaveAs(newName);
            }
            catch (Exception exec)
            {
                throw (exec);
            }

               FileStream fs = new FileStream(newName, FileMode.Open, FileAccess.Read);
                StreamReader m_streamReader = new StreamReader(fs);
                m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);
                string value = m_streamReader.ReadLine();
                string[] stringSeparators = new string[] { " " };
                string sql = "";
                int nonquery = 0;
                for (int i = 0; value != null; i++)
                {
                   
                    //value = value.Replace(",", "");
                    string[] array = value.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries);

                    sql += string.Format("insert into L_POSImportInfo_Share values('{0}','{1}','{2}','{3}','{4}','{5}',{6},{7},{8},'{9}','{10}','{11}','{12}','{13}','{14}','{15}'); ",
                        0, 104370157225027, array[0].ToString(), (array[3].Substring(4, 4) + array[4]).ToString(), array[2], "无", double.Parse(array[5].Replace(",", "").ToString()) * 100.00,

    double.Parse(array[6].ToString()) * 100.00, double.Parse(array[7].ToString()) * 100.00, "无", double.Parse(array[8].ToString()) * 100.00, "无", "无", "", 0,DateTime.Now.ToString("s"));
                   
                }
                nonquery = baser.ExecuteSQL(sql);
                if (nonquery > 0)
                {
                  
                     
                     Page.ClientScript.RegisterStartupScript(this.GetType(),Guid.NewGuid().ToString(), "<script>alert('导入成功');</script>");
                     GridView1.EditIndex = -1;
                     dataDind(0);
                }
                else
                {
                    
                    Page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), "<script>alert('导入失败!');</script>");

                    
                }
                m_streamReader.Close();
                fs.Close();
               
                //删除上传的文件
               if (File.Exists(newName))
               {
                  File.Delete(newName);
               }
              
        }
    }
}

热心网友 时间:2022-04-08 22:57

你试试我这个
 private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "文本文件|*.txt";
            ofd.ShowDialog();
            if (!string.IsNullOrEmpty(ofd.FileName))
            {
                string filename = ofd.FileName;
                IEnumerable<string> lines = File.ReadAllLines(filename);
                foreach (string line in lines)
                {
                    string[] segs = line.Split('|');
                    string name = segs[0];
                    string age = segs[1];
                    SqlHelper.ExecuteNonQuery("insert into T_Customer (name,age)values(@name,@age)",
                        new SqlParameter("@name", name),
                        new SqlParameter("@age", Convert.ToInt32(age))
                        );
                }
                MessageBox.Show("成功导入" + lines.Count() + "数据");
            }
                
            
        }

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
想你花就开了是什么意思 ...轻弹簧下端固定在水平面上.一个小球从弹簧正上方某一高度处由静止... ...弹簧下端固定在水平地面上,质量为m的小球从轻弹簧的正上方某一高处... ...一竖直弹簧下端固定于水平地面上,小球从弹簧的正上方高为h的地方自... ...结婚证,孩子户口也在女方家,男方可以要求拿抚养权吗? 小男孩适合戴哪些翡翠小男孩适合戴什么翡翠 产后尿道口痛是什么原因 产后尿道口疼怎么回事 ...同种点电荷连线上和中垂线上电势的变化规律 办理北京银行需要什么手续 单机暗黑2 1.11 版本 CK怎么玩 ck竞技之王哪个版本有m4a1死神 ck one 香水 到现在一共有几个版本? CK竞技之王有所有英雄武器的版本,其次要最像真的CF ck竞技之王哪个版本好,枪多? 魔兽世界单机版CK版本怪物回血速度太快,打不了怎么设置? iphone6序列号上的ck是什么意思 ck竞技之王哪个版本好玩 ck牛仔裤板型的特点是什么? ck香水美国版a和美国版b有什么区别吗? 收款二维码合并后安全吗 大小眼可以调整吗?怎么样恢复正常大小啊 大小眼怎么处理呀? 拍摄人像时,怎么可以避免”大小眼“? 怎样调整大小眼? vcf文件用wps解压出来是乱码,大神求帮助怎么弄?怎么用电脑打开文件,求帮助我的电脑w8系统 请问一下,把 Wonderful life 这句英文转换成哥特式字体,是什么样子。跪求!! 一个女的唱的,应该是首英文dj歌曲,我就听见一句,我用中文说出来吧, 就算巴黎闹 两个眼睛大小不一样怎么调整 with your wonderful life every fay 我27CK在新版本出来后多了52点属性点,我该怎么加呢 阅读下面的文言文,完成文后各题。(12分)呜呼!盛衰之理,虽曰天命,岂非人事哉!原庄宗之所以得天下, “五代史伶官传序”练习题 谁有自考《大学语文》中《五代史伶官传序》的练习题啊??? 《家》《巴黎圣母院》《红楼梦》名著试题 求江苏淮中小升初语文试卷 中国古代文学作品选二 求 自考 日语基础(二)和大学语文的真题和答案 还有一周我就要考大专了,就想问下题目难不难,我这几个月没有看书,不知道能不能过? 谁有山西省2009年专升本的大学语文试题 急需!谢谢了,大神帮忙啊 哪里有2008年10月 自学考试的中国古代文学作品选(二)的试卷 急!急!急!急!急!急! 有没有近几年的六年级毕业试卷的题`有的说一下`` 哪里有大学语文(专科)自考试卷或者试题之类的网站? 求上海初中教材中的苏轼的文言文 09年三校生考纲问题 请问,搜索抖音号进的直播间显示你的来源渠道吗? 我总是梦见杀了,我老婆她全家,她离开了我我恨她 关注抖音号会不会泄露个人信息 梦见我把全家人都杀死了。这是什么预兆? 抖音上,我搜索好友,看了他的主页,不点赞不关注,他会知道我浏览了他的主页吗?