delphi将Excel导入Access  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi将Excel导入Access


我连接数据库是使用了dbLink.udl文件来连接的,并且是动态创建的,这样做的好处就是无论代码转移到那个磁盘并且数据库文件改了名字,我们也只需要手动配置一下.udl文件,程序依然可以正常运行,免去了修改代码的麻烦。

例子很简单,直接给代码吧:

procedure TForm1.FormCreate(Sender: TObject);
begin
  AQry.ConnectionString := 'FILE NAME=' + ExtractFilePath(paramStr(0)) + 'dbLink.udl';
  AQry.Active := True;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  ExConn: TADOConnection;
  AFile: string;
  sList: TStringList;
  aTable: string;
  ExQry: TADOQuery;
  i: integer;
begin
  if OpenDialog1.Execute then
    AFile := OpenDialog1.FileName;
  ExConn := TADOConnection.Create(Application);
  ExConn.Connected := False;
  ExConn.LoginPrompt := False;
  ExConn.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' +AFile + ';Extended Properties=Excel 8.0;Persist Security Info=False';
  ExConn.Connected := True;
  sList := TStringList.Create;               
  ExConn.GetTableNames(sList);
  aTable := sList[0];
  if Pos('$', aTable)>0 then
    aTable := '[' + aTable + ']';
  ExQry := TADOQuery.Create(nil);
  ExQry.Connection := ExConn;
  ExQry.Close;
  ExQry.SQL.Clear;
  ExQry.SQL.Text := 'select * from' + aTable;
  ExQry.Open;
  sList.Free;
  if ExQry.RecordCount>0 then
  begin
    ExQry.First;
    for i := 1 to ExQry.RecordCount  do
    begin
      AQry.Open;
      AQry.Append;
      AQry.FieldValues['编号'] := ExQry.FieldValues['编号'];
      AQry.FieldValues['角色'] := ExQry.FieldValues['角色'];
      AQry.FieldValues['演员'] := ExQry.FieldValues['演员'];
      AQry.FieldValues['电视剧'] := ExQry.FieldValues['电视剧'];
      AQry.Post;
      ExQry.Next;
    end;
  end;
  ExConn.Free;
  ExQry.Free;
end;

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.037405967712402 seconds