网上学习视频学习实记:
描述:文本文档导入数据库
内容:20几万条手机号码段记录
数据内容:"号段" "所属地区""号码类型" "区号"
导入要求:导入时过滤第一行数据,其他数据行只导入内容,过滤掉引号。
实现方式一: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));
}
}