现在Excel表中有1000条纪录,我想用程序控制成批的导入到Sql Server 2000中
速度要快,当然不能是读一条插一条了,而要用批处理。
谢谢大家。
如有可能,贴出部分代码示例,特别是ADOQuery的批更新操作,还有用哪
种方式读取Excel表的记录内容。
速度要快,当然不能是读一条插一条了,而要用批处理。
谢谢大家。
如有可能,贴出部分代码示例,特别是ADOQuery的批更新操作,还有用哪
种方式读取Excel表的记录内容。
解决方案 »
- 怪问题:线程中用ADOCommand无法执行SQL“truncate table tbname”
- 急啊
- 100分请教!!!!!!
- 高分求助:为什么98下TAPI.LineGetID可以取得wave/out的Modem设备号,在2000下就不行了?
- 如何判断所输入的字符是本机的IP或计算机名?
- delphi代码编辑器不能输入中文字符
- 大家留个联系方式,可以方便讨论
- 如何用DELPHI动态添加多个图象TIMAGES控件!急~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 我不知道怎麼在新版CSDN中給人家加分呀?
- 为什么我的MTS/COM+系统会不能Updata?Why?按李维的办法做的!急!
- 我最要好的朋友的父亲得了乙型肝炎,快转成肝癌了,请问哪里有好的医院和治疗方法?(请版主不要删!帮忙置顶一下)
- Delphi中的crHandpoint这个光标太丑了!
假设有一个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++很方便的