我新建了个table,例如内容字段id,item{1,数学,2,英语.....}, 我数据库中有个表(course)字段也是id和item,如何将这个table写入表中.谢谢各位!

解决方案 »

  1.   

    循环读取  用SQL语句写入啊
      

  2.   

    ref:http://topic.csdn.net/t/20050308/09/3832496.html
      

  3.   

    1、用遍历的方式,每条写入。2、可用SqlCommandBuilder将整个DataTable写入,如下:
    ...
    SqlConnection conn = new SqlConnection("your connectionstring...");
    string sql = "select * from [yourTable]";
    SqlCommand cmd = new MySqlCommand(sql, conn);
    conn.Open();
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    //添加主键映射
    da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
    DataTable dt = new DataTable();
    da.Fill(dt);//此处对DataTable内容任意变更...//将整个DataTable更新到对应的表
    SqlCommandBuilder builder = new SqlCommandBuilder(da);
    da.Update(dt);conn.Close();
    ...
    注:个人认为两者在效率上相差不大,主要看哪个更适合具体情况。
    SqlCommandBuilder原理没作研究,但从它要求主键可以看出它实际也是遍历更新的,只不过这个遍历在ADO.net中帮我们智能化的完成罢了。
      

  4.   

    sql中不允许传入数据集,也就是表变量.oracle中可以,所以循环最简单.
      

  5.   

    你只是把数据写入表(course)有不是要新建一个表
    可以遍历这个DataTable的Rows,然后一条一条的插入就可以了
      

  6.   

    luck0235回答很祥细,在此表示谢谢!.
    大家都说用遍历,你们可以写个代码来吗?我对遍历接触不多.
      

  7.   

    循环拼sql,写事务,插到数据库中
      

  8.   

    foreach(DataRow row in table)
    {
       //insert 的sql语句
    }