if (ofdinport.ShowDialog() != DialogResult.OK)
{
return;
}
using (FileStream filestream = File.OpenRead(ofdinport.FileName))
{
using (StreamReader streamreader = new StreamReader(filestream))
//创建连接数据库是很耗时的,因此不要每次操作都创建连接
{
//创建连接通道,与数据库通信
using (SqlConnection coon = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=E:\C#程序\第二阶段\第二阶段\数据导入导出\drdc.mdf;Integrated Security=True"))
{
//连接数据库
coon.Open();
//创建数据库操作对象cmd
using (SqlCommand cmd = coon.CreateCommand())
{
//指定sql语句
cmd.CommandText = "insert into Persson(Name,Age)values(@name,@age)";
string line = null;
//读取文本流中的每一行,在读取出数据的情况下
while ((line = streamreader.ReadLine()) != null)
{
//..........用'|'分割读取出来的字符串
string[] strs = line.Split('|');
//得到姓名
string name = strs[0];
//得到年龄
int age = Convert.ToInt32(strs[1]);
//防止sql注入攻击,使用参数化
//防止每次循环参数被标记占用,先清空一下
cmd.Parameters.Clear();//参数不能重复添加,在while中一直用的是一个sqlconmmand 对象
//添加参数
cmd.Parameters.Add(new SqlParameter("Name", name));
cmd.Parameters.Add(new SqlParameter("Age", age));
//开始执行非查询语句
cmd.ExecuteNonQuery();
}
}
}
}
}
MessageBox.Show("导入成功");
|