C#如何把DataTable更新到Access数据库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何把DataTable更新到Access数据库相关的知识,希望对你有一定的参考价值。
一次整张表
public static void UpdateAccess(DataTable temp)OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=Data.MDB;Persist Security Info=False;Jet OLEDB:Database Password=");
try
con.Open();
OleDbDataAdapter Bada = new OleDbDataAdapter("SELECT * FROM TotalData where 1 =2", con);//建立一个DataAdapter对象
OleDbCommandBuilder cb = new OleDbCommandBuilder(Bada);//这里的CommandBuilder对象一定不要忘了,一般就是写在DataAdapter定义的后面
cb.QuotePrefix = "[";
cb.QuoteSuffix = "]";
DataSet ds = new DataSet();//建立DataSet对象
Bada.Fill(ds, "demo");//填充DataSet
foreach (DataRow tempRow in temp.Rows)
DataRow dr = ds.Tables["demo"].NewRow();
dr.ItemArray = tempRow.ItemArray;//行复制
ds.Tables["demo"].Rows.Add(dr);
Bada.Update(ds, "demo");//用DataAdapter的Update()方法进行数据库的更新
catch (Exception ex)
Console.WriteLine(ex.ToString());
finally
con.Close();
参考技术A 通过DataAdapter对象操作DataSet实现更新数据库。//Update();
如果你对ADO.NET不太熟悉,可以网上查一查;
参考资料:ADO.NET
本回答被提问者采纳 参考技术B 调用OleDbDataAdapter的Update()方法。 参考技术C 想省事,还不给个分。ASP.NET把数据查询出来保存在了一个datatable里面了,之后我想把这个datatable的数据导入到access数据库
access数据库里面有一张表跟datatable的表结构一模一样了,请问怎么用代码将datatable导入access呢
我要的是一次性将表数据导入access,不是一行一行的插入
A表 表示access数据库里面有一张表
B表 表示是数据查询出来追问
B表可以是datatable?
追答上面的SQL语句A表和B表的数据必须要一个数据库中,所以根据你的描述你的数据在两个不同的数据库中,所以只能先使用事务+for循环拼接SQL语句,然后一次执行拼接完成的SQL语句了。
追问怎么写这个事务呢,怎么拼接语句呢..可以给个例子么
追答StringBuilder Buidler = new StringBuilder();Buidler.Append("begin tran" + Environment.NewLine);
Buidler.Append(Environment.NewLine);
foreach (DataRow dr in dt.Rows)
Buidler.Append("INSERT INTO A(id,name) VALUES('" + dr[0] + "','" + dr[1].ToString() + "');");
Buidler.Append(Environment.NewLine);
Buidler.Append("commit tran");
然后,把Buidler.ToString(),当成一个SQL语句执行一下,就可以了。
追问IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败。】 为什么报这个错误呢
打断点根进看一下,到底什么地方报错啊。
参考技术A 插入不就行了, Insert Into table values ('值1','值2') 会不? 参考技术B Insert into [表B] Select * from [表A] Where " 插入条件"我上面的语句就是一次性向表B插入表A中所有的记录,不是一条一条加。如果是无条件的,就把where......删除就行了。
以上是关于C#如何把DataTable更新到Access数据库的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 SQL 命令从我的 DataTable 对象中使用 foreach-loop 更新 C# 中的 MS Access 数据库?
C#如何将datatable中的数据批量更新到MYSQL数据库
ASP.NET把数据查询出来保存在了一个datatable里面了,之后我想把这个datatable的数据导入到access数据库
由于使用自动增量添加到表中,如何使用更新的数据刷新 C# DataTable?