方法
http://dotnet.aspx.cc/file/Insert-DataSet-Into-Access.aspx

解决方案 »

  1.   

    本帖最后由 net_lover 于 2012-05-21 15:04:18 编辑
      

  2.   


    dt就是新数据啊.
    我就想把dt插入到表中.你的代码能执行成功吗? 第二种方法我怎么看着晕呢?
      

  3.   

    如果id是自动增长的主键,你应该去掉
    OleDbDataAdapter adapt = new OleDbDataAdapter("select ItemGuid,StartTime from " + tableName, conn);
    adapt.Fill(dt);
    var cmd = new OleDbCommand("insert into " + tableName + "(ItemGuid,StartTime) values(@ItemGuid,@StartTime)", conn);
    cmd.Parameters.Add("@ItemGuid", OleDbType.VarChar, 40, "itemGuid");
    cmd.Parameters.Add("@StartTime", OleDbType.VarChar, 20, "StartTime");
    adapt.InsertCommand = cmd;
    dt.Rows.Add(new object[] { "AA", "BB3" });
    adapt.Update(dt);
      

  4.   

    System.Data.DataSet ds = new System.Data.DataSet();
        System.Data.DataTable dataTable1;
        System.Data.DataRow dr;    String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|aspxWeb2.mdb";
        using (OleDbConnection connection = new OleDbConnection(connectionString))
        {
          OleDbDataAdapter adapter = new OleDbDataAdapter("select id, [Title],[Description] from TestTable", connection);
          adapter.Fill(ds, "TestTable");
          dataTable1 = ds.Tables["TestTable"];
    //以下的 这个 table 是什么??
          DataTableMapping dtmTable = new DataTableMapping("Table", "TestTable");
          adapter.TableMappings.Add(dtmTable);
          OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);
          //以下这段 是将给dataTable1 插入数据,可是下面也没用到啊?
          for (int i = 0; i < 8; i++)
          {
            dr = dataTable1.NewRow();
            dr["Title"] = "【孟子E章】" + i.ToString();
            dr["Description"] = "【孟子E章】" + i.ToString();
            dataTable1.Rows.Add(dr);
          }
          adapter.Update(ds);
        }
      

  5.   

    dt是从sql读取的数据,要往access里插入啊. id不是自增长的. 对于access.dt里的数据就是新数据啊
      

  6.   

    还有问题就是 ,dt里的列数要大于  access中表的列数,这个该怎么搞?
      

  7.   

    本帖最后由 net_lover 于 2012-05-21 15:54:17 编辑
      

  8.   

    OleDbCommandBuilder builder = new OleDbCommandBuilder(adapt);
    builder.QuotePrefix = "[";
    builder.QuoteSuffix = "]";builder 虽然定义了,下面未用到啊!