定登录用户名(Username)和密码 (Pass
word)等。
图 5 设置 Database 组件
通过动态创建的别名来访问数据库必须使用 Database 组件。用户可以用鼠标双击 Database 组件,出现参数设置窗口,如图 5 所示。在“Drivername”一栏选择要访问的 数据库
系统,如“MSSQL”,然后选择按钮“Defaults”,就会把 BDE 中该数据库系 统所需的参数名称和缺省值加入到“Parameteroverrides”列表中。根据实际情况更改参 数中的“Servername”、“Databasename”等项。最后单击 OK 按钮完成设置。 比较可知,通过内嵌方式访问数据库要比通过 ODBC 访问数据库速度快一些。而且, 内嵌方式可以在程序中动态设置连接数据库所需的参数,用户可不必设置 ODBC 数据源, 从而降低了对用户技术水平的要求, 并且
减少了用户的
工作量。 因此从系统配置的难易和复 杂程度来看,使用内嵌方式开发出的数据库应用系统更便于普通用户使用。
1.1.5 如何获取 BDE 的版本信息
单击 Delphi 工具栏中的“New Form”按钮,新建一窗体。向该窗体中添加 1 个 Memo 组件,并设置其 Align 属性为 alclient。在窗体对应的单元文件的 USES 部分添加 dbierrs, DBTables 两个引用库文件。在下面的单元文件中,fDbiGetSysVersion 函数将返回一个称为 SysVersion 的结构,并将最后结果显示在窗体的 Memo 中。
/*该窗体的单元文件代码*/
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,dbierrs, DBTables, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function fDbiGetSysVersion(SysVerList: TStringList): SYSVersion; var Month, Day, iHour, iMin, iSec: Word; Year: SmallInt; begin Check(DbiGetSysVersion(Result)); if (SysVerList <> nil) then begin with SysVerList do begin Clear;
Add(Format('数据引擎版本号=%d', [Result.iVersion])); Add(Format('接口级=%d', [Result.iIntfLevel])); Check(DbiDateDecode(Result.dateVer, Month, Day, Year)); Add(Format('版本日期=%s', [DateToStr(EncodeDate(Year, Month, Day))])); Check(DbiTimeDecode(Result.timeVer, iHour, iMin, iSec)); Add(Format('版本时间=%s', [TimeToStr(EncodeTime(iHour, iMin, iSec div 1000, iSec div 100))])); end; end; end; procedure TForm1.FormCreate(Sender: TObject); var hStrList: TStringList; Ver: SYSVersion; begin hStrList:= TStringList.Create; try Ver := fDbiGetSysVersion(hStrList); except ShowMessage('BDE not installed !'); end; Memo1.Lines.Assign(hStrList); hStrList.Destroy; end; end. 按 F9 键运行程序,将得到如图 6 所示的 BDE 版本信息。
图 6 运行结果窗口
1.1.6 如何维护 DBF 数据库
事实上,由于 Delphi 具有快捷易用、功能强大等优点,使得很多 FoxPro 和 VFP 的程序 设计人员加入到了 Delphi 阵营。但在 FoxPro 和 VFP 的开发环境下,有许多 DBF 类型的数 据表文件需要移植到 Delphi 中来,因此在 Delphi 中如何维护和操作这些数据将是一个很重
要的问题。下面阐述在 Delphi 中完成 DBF 数据库的如下操作:真正删除记录、显示被删除 记录、获取当前记录号和恢复被删除记录. 1. 真正删除记录 在 Delphi 程序中,使用 Table 或