ASP.NET把数据查询出来保存在了一个datatable里面了,之后我想把这个datatable的数据导入到access数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.NET把数据查询出来保存在了一个datatable里面了,之后我想把这个datatable的数据导入到access数据库相关的知识,希望对你有一定的参考价值。

access数据库里面有一张表跟datatable的表结构一模一样了,请问怎么用代码将datatable导入access呢
我要的是一次性将表数据导入access,不是一行一行的插入

insert into A select id,name From B
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......删除就行了。

以上是关于ASP.NET把数据查询出来保存在了一个datatable里面了,之后我想把这个datatable的数据导入到access数据库的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET我现在有一个DataTable 我想点击一下按钮就取出一条数据,不点击就不取出来咋办

ASP.NET中 datatable 和list的优劣处

Oracle存储过程创建临时表,插入数据后,怎么返回临时表数据,并在asp.net中接收到datatable中

求asp.net导出excel表的高效方法

ASP.NET中怎样对DataTable中某一行和某一列进行操作?

asp.net中怎样把字符串转换成json