本文整理自网络,侵删。
我连接数据库是使用了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 stringgrid 实例5 本例功能:字体修改为居中,红色,20号
更多相关阅读请进入《Delphi》频道 >>