登陆程序,连接access的登陆后进入主窗体

zy1963 2010-01-30 09:12:34
登陆程序,连接access的登陆后进入主窗体。最好是一个完整的例子程序。
我要学学。多谢!
...全文
363 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qhjio 2010-07-20
  • 打赏
  • 举报
回复
百度一下啊 这么容易的
yuxueyou 2010-07-19
  • 打赏
  • 举报
回复
try
ADOQuery1.Close;
ADOQuery1.sql.Text:='select *from sework where Users='''+Edit1.text+''' and Pass='''+Edit2.text+'''';
ADOQuery1.open;
//*******管理员界面
if ADOQuery1.FieldByName('Dep').AsString='0' then
begin
Form1.Visible:=false;
Form7.ShowModal;
close;
end;
if ADOQuery1.FieldByName('Dep').AsString='1' then
begin
Form1.Visible:=false;
Form2.ShowModal;
close;
end;-------------這個是我比較笨的方法 不動的用戶登錄的截面不一樣
kye_jufei 2010-07-09
  • 打赏
  • 举报
回复
main from:

unit Main;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Menus, RzGroupBar, ImgList, jpeg, ExtCtrls, RzStatus,
RzPanel, StdCtrls,ShellAPI, ComCtrls;

type
TMainInfo = class(TForm)
adoc_systemp: TADOConnection;
MainMenu1: TMainMenu;
N1: TMenuItem;
RzGroupBar1: TRzGroupBar;
RzGroup1: TRzGroup;
il1: TImageList;
RzGroup2: TRzGroup;
RzGroup3: TRzGroup;
main_pnl: TPanel;
Image1: TImage;
Label1: TLabel;
Label3: TLabel;
RzStatusBar1: TRzStatusBar;
RzStatusPane1: TRzStatusPane;
RzStatusPane2: TRzStatusPane;
RzStatusPane3: TRzStatusPane;
RzStatusPane4: TRzStatusPane;
Label2: TLabel;
Label4: TLabel;
Label5: TLabel;
procedure FormActivate(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure RzGroup1Items0Click(Sender: TObject);
procedure RzGroup1Items1Click(Sender: TObject);
procedure RzGroup1Items2Click(Sender: TObject);
procedure RzGroup1Items3Click(Sender: TObject);
procedure RzGroup2Items0Click(Sender: TObject);
procedure RzGroup2Items1Click(Sender: TObject);
procedure RzGroup2Items2Click(Sender: TObject);
procedure RzGroup2Items3Click(Sender: TObject);
procedure RzGroup3Items0Click(Sender: TObject);
procedure RzGroup3Items2Click(Sender: TObject);
procedure RzGroup3Items1Click(Sender: TObject);
procedure RzGroup2Items4Click(Sender: TObject);
procedure RzGroup2Items5Click(Sender: TObject);
procedure RzGroup1Items4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
MainInfo: TMainInfo;

implementation
uses LoginInfo,FlashInfo,AddInfo,ChangepwdInfo,DeleteInfo,AboutInfo,SzmxInfo,OutdataInfo,ChartInfo,AboutBella;

{$R *.dfm}

procedure TMainInfo.FormActivate(Sender: TObject);
begin
LoginInfo_Frm:=TLoginInfo_Frm.Create(Application);
LoginInfo_Frm.ShowModal;
LoginInfo_Frm.Free;
end;

procedure TMainInfo.FormCreate(Sender: TObject);
begin
try
adoc_systemp.ConnectionString:=
'provider=microsoft.Jet.OLEDB.4.0;Data Source='+ ExtractFilePath(Application.ExeName)+'Fmaily.mdb; Persist Security Info=False;Jet OLEDB:Database Password=jufei';
adoc_systemp.LoginPrompt:=False;
adoc_systemp.Connected:=True;
RzStatusPane1.Caption:='玲玲個人理財管理系統';
RzStatusPane2.Caption:=DateToStr(Date())+''+ TimeToStr(Time())+' '+ FormatDateTime('DDD',Now);
RzStatusPane3.Caption:='程式版本:Version1.01';
RzStatusPane4.Caption:='程式編寫:居飛';
except
MessageDlg('數據庫連接文件丟失!請與飛飛聯系!!!'+#13#13+'部門:資訊部'+#13#13+'手機:13712356517'+#13#13+'辦公室:0769-85825810轉3419'+#13#13+'Email:jufei@geniusnet.com.tw',mtConfirmation,[mbOK],0);
Application.Terminate;
end;
end;

procedure TMainInfo.RzGroup1Items0Click(Sender: TObject);
begin
AddInfo_Frm:=TAddInfo_Frm.Create(Application);
AddInfo_Frm.ShowModal;
AddInfo_Frm.Free;
end;

procedure TMainInfo.RzGroup1Items1Click(Sender: TObject);
begin
ChangepwdInfo_Frm:=TChangepwdInfo_Frm.Create(Application);
ChangepwdInfo_Frm.ShowModal;
ChangepwdInfo_Frm.Free;
end;

procedure TMainInfo.RzGroup1Items2Click(Sender: TObject);
begin
DeleteInfo_Frm:=TDeleteInfo_Frm.Create(Application);
DeleteInfo_Frm.ShowModal;
DeleteInfo_Frm.Free;
end;

procedure TMainInfo.RzGroup1Items3Click(Sender: TObject);
begin
AboutInfo_Frm:=TAboutInfo_Frm.Create(Application);
AboutInfo_Frm.ShowModal;
AboutInfo_Frm.Free;
end;

procedure TMainInfo.RzGroup2Items0Click(Sender: TObject);
begin
if not Assigned(SzmxInfo_Frm) then
SzmxInfo_Frm:=TSzmxInfo_Frm.Create(Self);
SzmxInfo_Frm.Parent:=MainInfo.main_pnl;
SzmxInfo_Frm.Align:=alClient;
SzmxInfo_Frm.BorderIcons:=[];
SzmxInfo_Frm.Show;
end;

procedure TMainInfo.RzGroup2Items1Click(Sender: TObject);
begin
if ShellExecute(Handle,nil,'Calc.exe',nil,nil,SW_SHOWNoRMAL)<=32 then
Messagedlg('運行計算工具失敗!',mtError,[mbOK],0);
end;

procedure TMainInfo.RzGroup2Items2Click(Sender: TObject);
begin
if not Assigned(SzmxInfo_Frm) then
//SzmxInfo_Frm:=TSzmxInfo_Frm.Create(Self)
MessageDlg('沒有數據可以導出!'+#13#13+'請打開收支明細管理界面再進行數據導出!!!',mtInformation,[mbOK],0)
else
SzmxInfo_Frm.OuttoExcel;
end;

procedure TMainInfo.RzGroup2Items3Click(Sender: TObject);
begin
if ShellExecute(Handle,nil,'NotePad.exe',nil,nil,SW_SHOWNoRMAL)<=32 then
Messagedlg('運行記事本失敗!',mtError,[mbOK],0);
end;

procedure TMainInfo.RzGroup3Items0Click(Sender: TObject);
begin
if not Assigned(SzmxInfo_Frm) then
//SzmxInfo_Frm:=TSzmxInfo_Frm.Create(Self)
MessageDlg('沒有報表可以預覽!'+#13#13+'請打開收支明細管理界面再進行報表預覽!!!',mtInformation,[mbOK],0)
else
SzmxInfo_Frm.OuttoReport;
end;

procedure TMainInfo.RzGroup3Items2Click(Sender: TObject);
begin
if MessageDlg('你確定要退出玲玲個人理財管理系統嗎?',mtConfirmation,[mbYes,mbNo],0)=idyes then
begin
Application.Terminate;
end
else
Abort;
end;

procedure TMainInfo.RzGroup3Items1Click(Sender: TObject);
begin
ChartInfo_Frm:=TChartInfo_Frm.Create(Application);
ChartInfo_Frm.ShowModal;
ChartInfo_Frm.Free;
end;

procedure TMainInfo.RzGroup2Items4Click(Sender: TObject);
begin
if not Assigned(SzmxInfo_Frm) then
//SzmxInfo_Frm:=TSzmxInfo_Frm.Create(Self)
MessageDlg('沒有數據可以壓縮!'+#13#13+'請打開收支明細管理界面再進行數據壓縮!!!',mtInformation,[mbOK],0)
else
SzmxInfo_Frm.Zipdata;
end;

procedure TMainInfo.RzGroup2Items5Click(Sender: TObject);
begin
if not Assigned(SzmxInfo_Frm) then
//SzmxInfo_Frm:=TSzmxInfo_Frm.Create(Self)
MessageDlg('沒有數據可以修復!'+#13#13+'請打開收支明細管理界面再進行數據修復!!!',mtInformation,[mbOK],0)
else
SzmxInfo_Frm.Repairdata;
end;

procedure TMainInfo.RzGroup1Items4Click(Sender: TObject);
begin
AboutBella_Frm:=TAboutBella_Frm.Create(Application);
AboutBella_Frm.ShowModal;
AboutBella_Frm.Free;
end;

end.
kye_jufei 2010-07-09
  • 打赏
  • 举报
回复
Login:
unit LoginInfo;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DB, ADODB, ExtCtrls, RzPanel;

type
TLoginInfo_Frm = class(TForm)
RzGroupBox1: TRzGroupBox;
qry1: TADOQuery;
Label1: TLabel;
Label2: TLabel;
edt_gh: TEdit;
Label3: TLabel;
edt_xm: TEdit;
Label4: TLabel;
edt_pwd: TEdit;
Label5: TLabel;
Edit1: TEdit;
Label6: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure edt_ghEnter(Sender: TObject);
procedure edt_ghExit(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure RzGroupBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure edt_ghKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
FLastUserID:string;
i,k:Integer;
public
{ Public declarations }
end;

var
LoginInfo_Frm: TLoginInfo_Frm;

implementation
uses Main,CommLib,CommDeclare,FlashInfo,md5;

{$R *.dfm}

procedure TLoginInfo_Frm.BitBtn2Click(Sender: TObject);
begin
if MessageDlg('你確定要退出玲玲個人理財管理系統嗎?',mtConfirmation,[mbYes,mbNo],0)=idyes then
begin
Application.Terminate;
end
else
Abort;
end;

procedure TLoginInfo_Frm.BitBtn1Click(Sender: TObject);
begin
with qry1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from LoginInfo where UserName='''+ edt_gh.Text+''' and ' +
'PassWord='''+ UpperCase(MD5Print(MD5String(edt_pwd.Text)))+'''');
Open;
if recordcount<1 then
begin
if i=3 then
Application.Terminate;
MessageDlg('登錄失敗!還有'+inttostr(3-i)+'次機會!!!',mtInformation,[mbOK],0);
i:=i+1;
edt_pwd.Clear;
edt_pwd.SetFocus;
Exit;
end;
if (Edit1.Text<>Label6.Caption) then
begin
if k=3 then
Application.Terminate;
MessageDlg('驗證碼錯誤!還有'+inttostr(3-k)+'次機會!!!',mtInformation,[mbOK],0);
k:=k+1;
Edit1.Clear;
Edit1.SetFocus;
Exit;
end;
_UserName:=fieldbyname('UserName').AsString;
_UserQx:=fieldbyname('UserQx').AsString;
Close;
end;
LoginInfo_Frm.Close;
end;

procedure TLoginInfo_Frm.edt_ghEnter(Sender: TObject);
begin
FLastUserID:=edt_gh.Text;
end;

procedure TLoginInfo_Frm.edt_ghExit(Sender: TObject);
begin
if UpperCase(edt_gh.Text)<>UpperCase(FLastUserID) then
with qry1 do
begin
Close;
SQL.Text:='select UserQx from LoginInfo where UserName='''+ edt_gh.Text+'''';
Open;
edt_xm.Text:=fieldbyname('UserQx').AsString;
Close;
end;
end;

procedure TLoginInfo_Frm.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
Key:=#0;
Perform(WM_NEXTDLGCTL,0,0);
end;
end;

procedure TLoginInfo_Frm.FormCreate(Sender: TObject);
begin
Randomize;
label6.Caption:=IntToStr(Random(12683));
Application.ProcessMessages;
end;

procedure TLoginInfo_Frm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9',#8,#13]) then Key:=#0;
end;

procedure TLoginInfo_Frm.RzGroupBox1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
Perform(WM_SYSCOMMAND,SC_MOVE or 1,0);
end;

procedure TLoginInfo_Frm.edt_ghKeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9',#8,#13]) then Key:=#0;
end;

end.
7年 2010-02-01
  • 打赏
  • 举报
回复
网上例子很多,自己查查吧。
q103120218 2010-02-01
  • 打赏
  • 举报
回复
http://community.csdn.net/
一个简单的连接ACCESS数据库的delphi登陆实例
easyboot 2010-01-30
  • 打赏
  • 举报
回复
比较简单
按自己的思维动手实践一下,
wsine 2010-01-30
  • 打赏
  • 举报
回复
这个问题比较简单,不过,我是新手!我也想看看
shuaialang 2010-01-30
  • 打赏
  • 举报
回复
form1onshow 后form2.showmodal

如果登录成功,那么form1.tag=1;
form2的onclose事件里判断是否form1。tag=1
=1则退出form2
否则推出form2.并且推出form1

我是这么搞的呵呵

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧