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;

相关阅读 >>

Delphi读取网页源文件和获取字符串

Delphi stringgrid 实例5 本例功能:字体修改为居中,红色,20号

Delphi tstreamwriter快速写入文件

Delphi 万能模糊查询

Delphi捕获u盘插入或者拔出

Delphi 在线程中运行窗体

Delphi异常信息捕捉

Delphi 改造shellexecute 精简函数

自己写的app如何禁掉安卓锁屏

Delphi twebbrowser 用法

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...