首先新建数据访问模块(Data Module),如下图:

这里使用MySql数据库,考虑到dbGo组件(即ADO)对MySql的不友好,使用dbExpress组件行进数据库的访问。
首先添加一个TSqlConnection控件。
为了使用dbExpress访问数据库,需要把MySql的安装路径下bin目录下的libmySQL.dll文件拷贝至Delphi安装路径的bin目录下。
如上图所示作必要的设置即可。(LoginPrompt属性设置成false以关闭每次连接数据库时的认证对话框)
创建一个Form作为登陆页面用,如下图所示:

可对Form的属性作必要的设定(如:BorderStyle:bsDialog; Position:poDesktopCenter)
添加一个TSQLQuery控件在于其上。后台的代码如下所示:
unitLoginUnit;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls,ExtCtrls,DB,ADODB,WideStrings,DBXMySql,SqlExpr,FMTBcd,
DBClient,SimpleDS;
type
TFrmLogin=class(TForm)
Bevel1:TBevel;
Label1:TLabel;
Label2:TLabel;
Edit1:TEdit;
Label3:TLabel;
Edit2:TEdit;
Button1:TButton;
Button2:TButton;
LoginSQLQuery:TSQLQuery;
procedureButton2Click(Sender:TObject);
procedureButton1Click(Sender:TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
FrmLogin:TFrmLogin;
implementation
usesDataModuleUnit;
{$R*.dfm}
procedureTFrmLogin.Button1Click(Sender:TObject);
var
username,password:string;
recordcount:Integer;
begin
username:=Edit1.Text;
password:=Edit2.Text;
ifusername=''then
begin
ShowMessage('ユーザ名を入力してください!');
Edit1.SetFocus;
end
elseifpassword=''then
begin
ShowMessage('パスワードを入力してください!');
Edit2.SetFocus;
end
else
begin
LoginSQLQuery.SQLConnection:=DataModule1.MySQLConnection;
LoginSQLQuery.CommandText:='SELECT*FROMT_USRWHEREUSID='+username+'ANDPWD='+password;
recordcount:=LoginSQLQuery.RecordCount;
ifrecordcount<1then
begin
ShowMessage('ユーザ名又はパスワードが違います!');
end
else
begin
ShowMessage('ログインします!');
end;
end;
end;
procedureTFrmLogin.Button2Click(Sender:TObject);
begin
close;
end;
end.