您的位置:首页 > 数据库

将文本数据提取导入到数据库

2013-03-16 22:38 239 查看
一个文本文件含有如下内容:

4580616022644994|3000|赵涛

4580616022645017|6000|张屹

4580616022645090|3200|郑欣夏

上述文件每行为一个转账记录,第一列表示帐号,第二列表示金额,第三列表示开户人姓名。

创建一张数据库表(MS SQLServer数据库,表名和字段名自拟),请将上述文件逐条插入此表中。

具体代码如下:

View Code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Diagnostics;

namespace 从文本中提取数据到数据库中
{
class Program
{

static void Main(string[] args)
{
//项目中的Programe.cs文件必须加上以下神奇的代码,对数据库的操作才能生效
string dataDir = AppDomain.CurrentDomain.BaseDirectory;
if (dataDir.EndsWith(@"\bin\Debug\")
|| dataDir.EndsWith(@"\bin\Release\"))
{
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
}

//启用秒表来计时
Stopwatch timer = new Stopwatch();
timer.Start();

string[] lines = System.IO.File.ReadAllLines(@"D:\转账记录.txt", Encoding.Default);
for (int i = 0; i < lines.Length; i++)
{
string[] str=lines[i].Split('|');

using (SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;
AttachDBFilename=|DataDirectory|\ZhuanZhang.mdf;Integrated Security=True;User Instance=True"))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "Insert into T_ZhuanZhang (CardNum,Money,Name) values (@CardNum,@Money,@Name)";
cmd.Parameters.Add(new SqlParameter("CardNum", str[0]));
cmd.Parameters.Add(new SqlParameter("Money", str[1]));
cmd.Parameters.Add(new SqlParameter("Name", str[2]));
cmd.ExecuteNonQuery();
}
}
}

Console.WriteLine("数据导入成功!");
timer.Stop();
Console.WriteLine(timer.Elapsed);
Console.ReadKey();

}
}
}


运行效果:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: