数据库

使用DataTable批量插入数据库,快速插入数据 .

2013-06-18

有些时候我们会遇到一些导入数据库的问题,比如,你有一列电话号码,存在记事本里,你把它粘贴进一个文本框,点击批量导入。

你可以按换行符把它们分割成一个数组,然后再for循环一下,导入数据库,不过这样的话,需要的时候比较长。

如果你使用新建一个datatable然后把数组填充进去,然后再批量的更新这个datatable,这样就会比较快。

下面是代码:
 //×××××××××××××××××××××××××××××××××××

        string constr = @"Server=.\SQLExpress2008;Database=shop;Persist Security Info=True;User ID=sa;Password=111";
        SqlConnection conn = new SqlConnection(constr);
        //设置Select查询命令,SqlCommandBuilder要求至少有Select命令
        SqlCommand SelectCMD = new SqlCommand("Select top 0 SNo,SName,SAge from Student", conn);
        DataTable dt1 = new DataTable();
        SqlDataAdapter sda = new SqlDataAdapter(SelectCMD);
        //上面的语句中使用Select 0,不是为了查询出数据,而是要查询出表结构以向DataTable中填充表结构
        sda.Fill(dt1);
        //给DataTable添加10条记录
        for (int i = 1; i <= 10; i++)
            dt1.Rows.Add(new object[] { i, "aaa" + i, 20 + i });
        SqlCommandBuilder scb = new SqlCommandBuilder(sda);
        //执行更新
        sda.Update(dt1.GetChanges());
        //使DataTable保存更新
        dt1.AcceptChanges();
       //×××××××××××××××××××××××××××××××××××