procedure TFrmConsume.PrintClick(Sender: TObject);
var
Ex,Exs:Variant;
i,j:integer;
FileName:String;
Sign:Boolean;
Str:string;
begin
FileName:=ExtractFilePath(ParamStr(0))+'Modal.xls';
Ex:=CreateOleObject('Excel.Application');
Exs:=CreateOleObject('Excel.Sheet');
Ex.Visible:=False;
Exs:=Ex.WorkBooks.open(Filename);
Sign:=True;
i:=2;
DM.ADOCon.BeginTrans;
While Sign=True do
begin
str:=Trim(Ex.Cells(i,1));
if str='' then
Sign:=False
else
begin
DM.QConsume.Append;
for j:=1 to 4 do
DM.QConsume.Fields[j].Asstring:=Trim(Ex.Cells(i,j));
DM.QConsume.Post;
inc(i);
end;
end;
Ex:=Unassigned;
Exs:=Unassigned;
Try
DM.ADOCon.CommitTrans;
Except
DM.ADOCon.RollbackTrans;
Showmessage('数据导入发生错误!');
exit;
end;
Showmessage('成功倒入数据!');end;
为什么这段程序完不成上述要求。
var
Ex,Exs:Variant;
i,j:integer;
FileName:String;
Sign:Boolean;
Str:string;
begin
FileName:=ExtractFilePath(ParamStr(0))+'Modal.xls';
Ex:=CreateOleObject('Excel.Application');
Exs:=CreateOleObject('Excel.Sheet');
Ex.Visible:=False;
Exs:=Ex.WorkBooks.open(Filename);
Sign:=True;
i:=2;
DM.ADOCon.BeginTrans;
While Sign=True do
begin
str:=Trim(Ex.Cells(i,1));
if str='' then
Sign:=False
else
begin
DM.QConsume.Append;
for j:=1 to 4 do
DM.QConsume.Fields[j].Asstring:=Trim(Ex.Cells(i,j));
DM.QConsume.Post;
inc(i);
end;
end;
Ex:=Unassigned;
Exs:=Unassigned;
Try
DM.ADOCon.CommitTrans;
Except
DM.ADOCon.RollbackTrans;
Showmessage('数据导入发生错误!');
exit;
end;
Showmessage('成功倒入数据!');end;
为什么这段程序完不成上述要求。
解决方案 »
- 关于DBGridEh的显示问题
- Delphi程序员大调查:平均每天写多少行代码?
- 大家在delphi的开发中遇到的bug多么?
- C++中的Uchar* 对应于delphi中类型?
- 菜鸟WebBroker问题,敬请赐教!
- 求救!~(十万火急,倾家求助)关于SQLSERVER主关键字问题~!
- 高分在线求助,帮帮忙,,,,,,?????
- 我下载并安装了Delphi6.0中文版的,请问SP2可以装在中文版下吗?
- 谁知道FILEREAD函数?
- Delphi 打印机如何设置打印机的偏移量offsetX,offsetY
- 关于一个程序的想法,高手进来给点建议!
- 用Delphi中的BDE数据库开发的程序怎样打包?
可以完成阿,不过
1 不要在while循环里面post,用批量更新
2 最后赋unsigned之前,要有Ex.quit;
3 如果是access或者sql server可以直接用数据库的工具或者sql语句
程序执行到这里发生错误。