将datatable一次插入access,如何搞? 方法http://dotnet.aspx.cc/file/Insert-DataSet-Into-Access.aspx 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 本帖最后由 net_lover 于 2012-05-21 15:04:18 编辑 dt就是新数据啊.我就想把dt插入到表中.你的代码能执行成功吗? 第二种方法我怎么看着晕呢? 如果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); 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); } dt是从sql读取的数据,要往access里插入啊. id不是自增长的. 对于access.dt里的数据就是新数据啊 还有问题就是 ,dt里的列数要大于 access中表的列数,这个该怎么搞? 本帖最后由 net_lover 于 2012-05-21 15:54:17 编辑 OleDbCommandBuilder builder = new OleDbCommandBuilder(adapt);builder.QuotePrefix = "[";builder.QuoteSuffix = "]";builder 虽然定义了,下面未用到啊! linq to sql 类中关系图箭头方向怎么画呀 【随便说说】SocketTCP酒店通讯接口研究第4贴(第二章内容—>数据库同步) C#求助,远程桌面登录 关键词出现频率及位置问题? 求c#按钮精灵程序代码,就是股票软件中输入数字,右下角弹出的下拉列表(winform) wince设备读取PC文件 C#如何将png图片格式转成jpg格式? c#winform中对treeview的节点后面添加一个textbox控件,在选择该节点时可以输入内容,并且可以折叠 如何获取多个checkbox的值判断其是否被选中,然后传入数据库? 为何消息队列访问总是被拒绝??? c# 乘法 考勤查询SQL语句怎么写
dt就是新数据啊.
我就想把dt插入到表中.你的代码能执行成功吗? 第二种方法我怎么看着晕呢?
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);
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);
}
builder.QuotePrefix = "[";
builder.QuoteSuffix = "]";builder 虽然定义了,下面未用到啊!