日期:2014-05-18  浏览次数:21053 次

dataset导入数据库
我现在从excel中抓取数据并绑定到dataset中,请问我现在怎么把dataset中的数据批量的插入到数据库中的表中呢?
还请各位赐教,谢了先...

请看好了,是插入新表

------解决方案--------------------
遍历ds的没一数据行,
再一行一行的insert到表中

for each(DataRow dr in ds)
{
string sql = “insert into table1 values (” + “‘” + dr[“字段名1”]+”’,‘“ + dr[“字段名2”]+.................
InsertIntoTable(sql)
}

private void InsertIntoTable(string sql)
{
'执行插入数据库表的函数。
}
------解决方案--------------------
学习了。
------解决方案--------------------
用sql语句可以实现,create一个表,再按楼上的方法一行行插进去就可以了
------解决方案--------------------
探讨
晕,我要的是整个dataset提交,不是一个一个的insert,谢谢

------解决方案--------------------
直接到入就行了啊

sql server 好像导入数据要用第三方工具

oracle 可以直接导的吧
------解决方案--------------------
实现目的:往oracle数据库中,插入excel文件中的数据 

实现步骤: 

1、打开MicroSoft Excel 2000 

2、文件(F)→新建(N)→工作簿→ 

3、输入数据后,存盘为test.xls, 

4、文件(F)→另存为(A)→ 

保存类型为:制表符分隔,起名为text.txt,保存到C:\ 

5、须先创建表结构: 

连入SQL*Plus,以system/manager用户登录, 

SQL> conn system/manager 

创建表结构 SQL> create table test 



id number,--序号 

usernamevarchar2(10), --用户名 

passwordvarchar2(10), --密码 

sj varchar2(20)  --建立日期 

); 
 


6、创建SQL*Loader输入数据所需要的文件,均保存到C:\,用记事本编辑: 

控制文件:input.ctl,内容如下: 

load data --1、控制文件标识 

infile 'test.txt' --2、要输入的数据文件名为test.txt 

append into table test--3、向表test中追加记录 

fields terminated by X'09'--4、字段终止于X'09',是一个制表符(TAB) 

(id,username,password,sj) -----定义列对应顺序 

a、insert,为缺省方式,在数据装载开始时要求表为空 

b、append,在表中追加新记录 

c、replace,删除旧记录,替换成新装载的记录 

d、truncate,同上 

7、在DOS窗口下使用SQL*Loader命令实现数据的输入 

C:\>sqlldr userid=system/manager control=input.ctl 

默认日志文件名为:input.log 

默认坏记录文件为:input.bad 

如果是远程对数据库进行导入操作,则输入字符串应改为: 

C:\>sqlldr userid=system/manager@serviceName_192.168.1.248 control=input.ctl 

8、连接到SQL*Plus中,查看是否成功输入,可比较input.log与原test.xls文件,查看数据是否全部导入,是否导入成功. 

------解决方案--------------------
没做过这个,但想到一个思路,楼主可以试试是否可行,效率如何

1.先执行建表语句
2.使用适配器得到一个该表的目标dataset
3.将你的源dataset合并到那个目标dataset里去
4.目标dataset.AcceptChange()
------解决方案--------------------
首先 你需要在数据库当中创建一个相同结构的数据表,然后再程序当中,获得该程序表的dataset和dataadapter
然后 给dataadapter创建更新语句,然后使用dataset.marge方法合并两个dataset然后使用dataaadpter的update方法应该就可以了
------解决方案--------------------
那只是外表,里面真正运行的还一条一条进去插的,你自己想想就知道了,人家插入数据库数据时,还不是一条的进去。
------解决方案--------------------
批量处理 也是 一条一条 来插入的

------解决方案--------------------
up
------解决方案--------------------

直接调用 sql server bcp工具
直接把excel数据批量导入到数据库对应的表中了

------解决方案--------------------