您的位置:首页 > 数据库

(8)C#之ADO.NET 文件数据导入到数据库

2015-10-22 15:34 393 查看
有时候我们会把文件中的数据导入到数据库中,那么这要如何做呢?下面进行详细分析。

①先看看我们要导入的文件数据,假设文件数据和数据库的表字段分别如下图:









◇说明:名字和年龄之间是以'|'分隔开的

②那么我们就要把相对应的名字插入数据库中的name字段,年龄插入数据库中的age字段。首先我们创建一个Button按钮,在这个按钮的Click事件中写下如下代码:

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);
int i = 0;
foreach (string line in lines)
{
string[] segs = line.Split('|');
string name = segs[0];
int age = Convert.ToInt32(segs[1]);
SqlHelper.ExecuteNonQuery("Insert into T_Customer (name,age) values(@name,@age)",
new SqlParameter("@name",name),
new SqlParameter("@age",age));
i++;
}
MessageBox.Show("导入成功!共导入"+i+"条数据");
}


◇现在进行分析:

◇首先利用ofd.Filename属性,获取到我们要打开的文件的文件名。

◇然后再利用一个集合类 IEnumerable,以及一个逐行读取文件 方法File.ReadLines(filename,Encoding.Default),逐行的把文字加入到该集合中去。(其中,filename是文件名,Encoding.Default是设置为系统默认的编码方式,以防止乱码的产生)

◇然后利用foreach遍历,将lines逐行遍历到line,并且在遍历过程中,利用字符串的分割函数,以‘|’对每行中的数据进行分割,产生数组并赋给变量name和age。

◇最后把获取到的变量值插入到数据库中,打印出最后成功导入的数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: