Delphi2009中使用dbExpress组件访问MySql(登陆页面)

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

 

这里使用MySql数据库,考虑到dbGo组件(即ADO)对MySql的不友好,使用dbExpress组件行进数据库的访问。

首先添加一个TSqlConnection控件。

为了使用dbExpress访问数据库,需要把MySql的安装路径下bin目录下的libmySQL.dll文件拷贝至Delphi安装路径的bin目录下。

如上图所示作必要的设置即可。(LoginPrompt属性设置成false以关闭每次连接数据库时的认证对话框)

 

创建一个Form作为登陆页面用,如下图所示:

 

可对Form的属性作必要的设定(如:BorderStyle:bsDialog; Position:poDesktopCenter)

添加一个TSQLQuery控件在于其上。后台的代码如下所示:

  1. unit LoginUnit;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs, StdCtrls, ExtCtrls, DB, ADODB, WideStrings, DBXMySql, SqlExpr, FMTBcd,
  6.   DBClient, SimpleDS;
  7. type
  8.   TFrmLogin = class(TForm)
  9.     Bevel1: TBevel;
  10.     Label1: TLabel;
  11.     Label2: TLabel;
  12.     Edit1: TEdit;
  13.     Label3: TLabel;
  14.     Edit2: TEdit;
  15.     Button1: TButton;
  16.     Button2: TButton;
  17.     LoginSQLQuery: TSQLQuery;
  18.     procedure Button2Click(Sender: TObject);
  19.     procedure Button1Click(Sender: TObject);
  20.   private
  21.     { Private declarations }
  22.   public
  23.     { Public declarations }
  24.   end;
  25. var
  26.   FrmLogin: TFrmLogin;
  27. implementation
  28. uses DataModuleUnit;
  29. {$R *.dfm}
  30. procedure TFrmLogin.Button1Click(Sender: TObject);
  31. var
  32.   username, password : string;
  33.   recordcount : Integer;
  34. begin
  35.   username := Edit1.Text;
  36.   password := Edit2.Text;
  37.   if username = '' then
  38.   begin
  39.     ShowMessage('ユーザ名を入力してください!');
  40.     Edit1.SetFocus;
  41.   end
  42.   else if password = '' then
  43.   begin
  44.     ShowMessage('パスワードを入力してください!');
  45.     Edit2.SetFocus;
  46.   end
  47.   else
  48.   begin
  49.     LoginSQLQuery.SQLConnection := DataModule1.MySQLConnection;
  50.     LoginSQLQuery.CommandText := 'SELECT * FROM T_USR WHERE USID =' + username + ' AND PWD = ' + password;
  51.     recordcount := LoginSQLQuery.RecordCount;
  52.     if recordcount < 1 then
  53.     begin
  54.       ShowMessage('ユーザ名又はパスワードが違います!');
  55.     end
  56.     else
  57.     begin
  58.       ShowMessage('ログインします!');
  59.     end;
  60.   end;
  61. end;
  62. procedure TFrmLogin.Button2Click(Sender: TObject);
  63. begin
  64.   close;
  65. end;
  66. end.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值