现在Excel表中有1000条纪录,我想用程序控制成批的导入到Sql Server 2000中
速度要快,当然不能是读一条插一条了,而要用批处理。
谢谢大家。
如有可能,贴出部分代码示例,特别是ADOQuery的批更新操作,还有用哪
种方式读取Excel表的记录内容。
速度要快,当然不能是读一条插一条了,而要用批处理。
谢谢大家。
如有可能,贴出部分代码示例,特别是ADOQuery的批更新操作,还有用哪
种方式读取Excel表的记录内容。
调试欢乐多
假设有一个excel表d:\在职职工库.xls,簿中有一个表在职职工,其中有如下数据
2002年5月职工花名册
序号 姓名 性别 民族 工资
1 张三 男 汉 800.00
2 李四 男 回 1200.00
3 张芸 女 汉 852.00
4 何天荣 男 满 962.00现要把其中的职工数据导出到d:\zghmc.dbf.首先用excel打开d:\在职职工库.xls,选择包含职工数据的区域,不包括标题"2002年5月职工花名册",执行"插入->名称->定义",输入zgk,为所选的数据定义一个名称,关闭excel.在project中加入一个ADOConnection1、一个ADOQuery1,添加以下代码:
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\在职职工库.xls;Extended Properties=excel 8.0;Persist Security Info=False';
ADOQuery1.Connection:= ADOConnection1;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * into zghmc in "d:\" "dBASE 5.0;" from zgk' );
ADOQuery1.ExecSQL;
ADOQuery1.Close;然后编译运行,就把excel中的职工数据导出到d:\zghmc.dbf中了。
如果要在程序中显示excel中的数据,添加一个ADOTable1,设置Connection为ADOConnection1就可以了.
就是说所有的更新操作先在本地缓存中操作,最后所有的完成后再一起提交。
批量更新,我用的ADOConnection和ADOQuery控件,操作都是SQL语句,不知能否支持这样的操作?
2.另还有一快法,就是用sql server的DTS,要用程序控制是很麻烦,好象对Delphi
来说不容易用vb,vc++很方便的