DataTable数据导入access
现在小弟有一个DataTable的数据想导入到ACCESS中
ACCESS是不是要先建立摸版还是动态产生,请各位大哥给我一个方法啊!!

解决方案 »

  1.   

    for 一下DataTable,动态拼一个insert语句
      

  2.   

    循环遍历DataTable,组织Sql语句,然后插入数据库...for example:using System.Data;
    using System.Data.OleDb;//导入
    OleDbConnection con=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\student.mdb;");
    OleDbCommand cmd=new OleDbCommand("insert into studentDetails values(?,?,?)",con);
    con.Open();
    //说明dt是一个DataTable
    foreach (DataRow row in dt)
    {
        cmd.Parameters.Clear();
        cmd.Parameters.AddWithValue("@Sno",row["sno"].ToString());
        cmd.Parameters.AddWithValue("@Sname",row["sname"].ToString());
        cmd.Parameters.AddWithValue("@Sage",Convert.ToInt32(row["sage"]);
        cmd.ExecuteNonQuery();
    }
    con.Close();
      

  3.   

    lz:
       你的ACCESS中的表需要动态产生吗?
      

  4.   

    //导入
    OleDbConnection con=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\student.mdb;");
    OleDbCommand cmd=new OleDbCommand("insert into studentDetails values(?,?,?)",con);
    con.Open();
    //说明dt是一个DataTable
    foreach (DataRow row in dt)
    {
        cmd.Parameters.Clear();
        cmd.Parameters.AddWithValue("@Sno",row["sno"].ToString());
        cmd.Parameters.AddWithValue("@Sname",row["sname"].ToString());
        cmd.Parameters.AddWithValue("@Sage",Convert.ToInt32(row["sage"]);
        cmd.ExecuteNonQuery();
    }
    con.Close();