C#学习实记(文本文档导入 二 )

网上学习视频学习实记:

描述:文本文档导入数据库

内容:20几万条手机号码段记录

数据内容:"号段" "所属地区""号码类型" "区号"

导入要求:导入时过滤第一行数据,其他数据行只导入内容,过滤掉引号。

C#学习实记(文本文档导入 二 )_第1张图片C#学习实记(文本文档导入 二 )_第2张图片

实现方式一:insert  ;File.ReadAllLines();每插入一条记录关闭打开数据库一次

特点:此方法对于数据两较小时使用可以,但数据两大的话这速度相当的慢。

private void btnFunction4_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "文本文件|*.txt";
            if (ofd.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            string filename = ofd.FileName;
            string[] lines = File.ReadAllLines(filename,Encoding.Default).ToArray();//通过ToArray()方法将IEnumerable转换为数组类型数据
            for (int i = 1; i < lines.Count(); i++)
            {
                string line = lines[i];
                string[] regs=line.Split('\t');//根据空格来划分line记录并成为regs数组的成员

                string startnum = regs[0];
                string telarea = regs[1];
                telarea.Trim('"');//去除telarea两边的“"”符号
                string teltype = regs[2];
                teltype.Trim('"');
                string areanum = regs[3];
                areanum.Trim('"');

                SqlHelper.ExecuteNonQury(@"INSERT INTO TelNum (StartNum,TelArea,TelType,AreaNum) Values(@StartNum,@TelArea,@TelType,@AreaNum)",
                new SqlParameter("@StartNum",startnum),
                new SqlParameter("@TelArea",telarea),
                new SqlParameter("@TelType",teltype),
                new SqlParameter("@AreaNum",areanum));
            }
        }

你可能感兴趣的:(学习C#实记)