Delphi2009中使用dbExpress组件访问MySql(登陆页面)
2008-10-08 10:52
633 查看
首先新建数据访问模块(Data Module),如下图:
这里使用MySql数据库,考虑到dbGo组件(即ADO)对MySql的不友好,使用dbExpress组件行进数据库的访问。
首先添加一个TSqlConnection控件。
为了使用dbExpress访问数据库,需要把MySql的安装路径下bin目录下的libmySQL.dll文件拷贝至Delphi安装路径的bin目录下。
如上图所示作必要的设置即可。(LoginPrompt属性设置成false以关闭每次连接数据库时的认证对话框)
创建一个Form作为登陆页面用,如下图所示:
可对Form的属性作必要的设定(如:BorderStyle:bsDialog; Position:poDesktopCenter)
添加一个TSQLQuery控件在于其上。后台的代码如下所示:
unit LoginUnit;
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;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmLogin: TFrmLogin;
implementation
uses DataModuleUnit;
{$R *.dfm}
procedure TFrmLogin.Button1Click(Sender: TObject);
var
username, password : string;
recordcount : Integer;
begin
username := Edit1.Text;
password := Edit2.Text;
if username = '' then
begin
ShowMessage('ユーザ名を入力してください!');
Edit1.SetFocus;
end
else if password = '' then
begin
ShowMessage('パスワードを入力してください!');
Edit2.SetFocus;
end
else
begin
LoginSQLQuery.SQLConnection := DataModule1.MySQLConnection;
LoginSQLQuery.CommandText := 'SELECT * FROM T_USR WHERE USID =' + username + ' AND PWD = ' + password;
recordcount := LoginSQLQuery.RecordCount;
if recordcount < 1 then
begin
ShowMessage('ユーザ名又はパスワードが違います!');
end
else
begin
ShowMessage('ログインします!');
end;
end;
end;
procedure TFrmLogin.Button2Click(Sender: TObject);
begin
close;
end;
end.
这里使用MySql数据库,考虑到dbGo组件(即ADO)对MySql的不友好,使用dbExpress组件行进数据库的访问。
首先添加一个TSqlConnection控件。
为了使用dbExpress访问数据库,需要把MySql的安装路径下bin目录下的libmySQL.dll文件拷贝至Delphi安装路径的bin目录下。
如上图所示作必要的设置即可。(LoginPrompt属性设置成false以关闭每次连接数据库时的认证对话框)
创建一个Form作为登陆页面用,如下图所示:
可对Form的属性作必要的设定(如:BorderStyle:bsDialog; Position:poDesktopCenter)
添加一个TSQLQuery控件在于其上。后台的代码如下所示:
unit LoginUnit;
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;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmLogin: TFrmLogin;
implementation
uses DataModuleUnit;
{$R *.dfm}
procedure TFrmLogin.Button1Click(Sender: TObject);
var
username, password : string;
recordcount : Integer;
begin
username := Edit1.Text;
password := Edit2.Text;
if username = '' then
begin
ShowMessage('ユーザ名を入力してください!');
Edit1.SetFocus;
end
else if password = '' then
begin
ShowMessage('パスワードを入力してください!');
Edit2.SetFocus;
end
else
begin
LoginSQLQuery.SQLConnection := DataModule1.MySQLConnection;
LoginSQLQuery.CommandText := 'SELECT * FROM T_USR WHERE USID =' + username + ' AND PWD = ' + password;
recordcount := LoginSQLQuery.RecordCount;
if recordcount < 1 then
begin
ShowMessage('ユーザ名又はパスワードが違います!');
end
else
begin
ShowMessage('ログインします!');
end;
end;
end;
procedure TFrmLogin.Button2Click(Sender: TObject);
begin
close;
end;
end.
相关文章推荐
- Delphi XE3 数据库系列(一):使用dbexpress访问mysql
- Delphi使用ADO组件访问ACCESS数据入门例程
- linux如何使用mysql -uroot -p快速进入mysql登陆页面
- Delphi使用ADO组件访问ACCESS数据入门例程
- 使用HttpWebRequest和HttpWebResponse实现模拟登录需要登陆后才可以访问的页面
- 使用MySQL统计页面访问及排名
- DotNET使用CoreLab推出的MYSQL访问组件示例(学习)
- 使用MySQL统计页面访问及排名
- Laravel 5.3 使用内置的 Auth 组件实现多用户认证功能以及登陆才能访问后台的功能的一种实现方法
- Delphi 7使用ADOConnection访问MySQL
- FleaPHP 开发指南 - 8. 如何使用 RBAC 组件实现访问控制
- Delphi使用server组件控制excel的一点经验
- 使用Filter技术防止用户非法访问页面
- windows下配置mysql环境变量 - 使用cmd访问mysql(图)
- 使用Gzip压缩数据,加快页面访问速度
- 使用Intent跳转后清除以前所访问的页面
- mysql 在正式使用的时候,遇到了无法访问的问题
- JSP页面如何访问标签中定义的变量-使用实现
- FleaPHP 开发指南 - 8. 如何使用 RBAC 组件实现访问控制
- Delphi组件indy 10中IdTCPServer修正及SSL使用心得