Delphi+Acess学生信息管理系统10.docx
《Delphi+Acess学生信息管理系统10.docx》由会员分享,可在线阅读,更多相关《Delphi+Acess学生信息管理系统10.docx(22页珍藏版)》请在冰豆网上搜索。
Delphi+Acess学生信息管理系统10
~Delphi学习记念
全部资源文件(可直接用Delphi打开编辑)下载地址:
效果图:
源码:
登录界面(从Access数据库读取对比用户名与密码):
UnitLogin.pas
unitUnitLogin;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls,ExtCtrls,jpeg;
type
TFormLogin=class(TForm)
Image1:
TImage;
Button1:
TButton;
Button2:
TButton;
ComboBox1:
TComboBox;
Edit1:
TEdit;
Label1:
TLabel;
Timer1:
TTimer;
lblMsg:
TLabel;
Label2:
TLabel;
shpBall2:
TShape;
shpBall1:
TShape;
procedureFormShow(Sender:
TObject);
procedureButton1Click(Sender:
TObject);
procedureButton2Click(Sender:
TObject);
procedureTimer1Timer(Sender:
TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
FormLogin:
TFormLogin;
nowUser:
String;
nowPower:
integer;
implementation
{$R*.dfm}
usesUnitDataModule,UnitConsole;
varisStop:
boolean;
procedureTFormLogin.FormShow(Sender:
TObject);
begin
dataModule1.adoTable1.Open;
whiledataModule1.adoTable1.EOF<>truedo
begin
comboBox1.Items.Append(dataModule1.adoTable1.FieldValues['user']);
dataModule1.adotable1.Next;
end;
dataModule1.adoTable1.Close;
isStop:
=false;
lblMsg.Visible:
=false;
end;
procedureTFormLogin.Button1Click(Sender:
TObject);
varuser1,pwd1:
string;
begin
user1:
=comboBox1.Text;
pwd1:
=edit1.Text;
dataModule1.adoTable1.Open;
dataModule1.adoTable1.First;
whilenotdataModule1.adoTable1.EOFdo
begin
if(user1=DataModule1.adoTable1.FieldValues['user'])and(pwd1=DataModule1.adoTable1.FieldValues['pwd'])then
begin
nowUser:
=user1;
dataModule1.ADOQuery1.Close;
dataModule1.ADOQuery1.SQL.Clear;
dataModule1.ADOQuery1.SQL.Add('selectpowerfromAccountwhereuser='''+nowUser+'''');
dataModule1.ADOQuery1.Open;
nowPower:
=dataModule1.ADOQuery1.Fields[0].AsInteger;
formConsole.Show;
Exit;
end;
DataModule1.adoTable1.Next;
end;
ShowMessage('登录失败,请重试!
');
edit1.Text:
='';
comboBox1.SetFocus;
DataModule1.adoTable1.Close;
end;
procedureTFormLogin.Button2Click(Sender:
TObject);
begin
Application.Terminate;
end;
procedureTFormLogin.Timer1Timer(Sender:
TObject);
begin
if(notisStop)then
begin
shpBall1.Left:
=shpBall1.Left-10;
shpBall2.Left:
=shpBall2.Left+10;
if(shpBall1.Left<=100)thenisStop:
=true;
end
elselblMsg.Visible:
=true;
end;
end.
预览界面:
UnitConsole.pas
unitUnitConsole;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,Menus,Grids,DBGrids,StdCtrls,ExtCtrls,jpeg;
type
TFormConsole=class(TForm)
MainMenu1:
TMainMenu;
view1:
TMenuItem;
User:
TMenuItem;
quit1:
TMenuItem;
DBGrid1:
TDBGrid;
DBGrid2:
TDBGrid;
Add:
TMenuItem;
help:
TMenuItem;
userMang:
TMenuItem;
time1:
TTimer;
Image1:
TImage;
lblSec:
TLabel;
lblNote:
TLabel;
lblMin:
TLabel;
lblHour:
TLabel;
Label2:
TLabel;
Label1:
TLabel;
editSec:
TEdit;
editMin:
TEdit;
editHour:
TEdit;
procedureview1Click(Sender:
TObject);
procedurequit1Click(Sender:
TObject);
procedureAddUserClick(Sender:
TObject);
procedureuserMangClick(Sender:
TObject);
procedureAddClick(Sender:
TObject);
procedurehelpClick(Sender:
TObject);
procedureFormShow(Sender:
TObject);
procedureFormCreate(Sender:
TObject);
proceduretime1Timer(Sender:
TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
FormConsole:
TFormConsole;
implementation
{$R*.dfm}
usesUnitView,UnitAdd,UnitDataModule,UnitUserMang,UnitLogin;
varhour,min,sec,msec:
word;
procedureTFormConsole.view1Click(Sender:
TObject);
begin
formView.ShowModal;
end;
procedureTFormConsole.quit1Click(Sender:
TObject);
begin
Application.Terminate;
end;
procedureTFormConsole.AddUserClick(Sender:
TObject);
begin
formAdd.ShowModal;
end;
procedureTFormConsole.userMangClick(Sender:
TObject);
begin
formUserMang.ShowModal;
end;
procedureTFormConsole.AddClick(Sender:
TObject);
begin
if(nowPower=1)thenformAdd.ShowModal
elseShowMessage('您没有权限添加新用户,请联系管理员!
');
end;
procedureTFormConsole.helpClick(Sender:
TObject);
begin
ShowMessage('Delphi学生信息管理系统1.0,纪念于2012.5.20.');
end;
procedureTFormConsole.FormShow(Sender:
TObject);
begin
withdataModule1.ADOQuery1do
begin
Close;
SQL.Text:
='select*fromStudent';
Open;
end;
end;
procedureTFormConsole.FormCreate(Sender:
TObject);
begin
DecodeTime(Now,hour,min,sec,msec);
editHour.Text:
=IntToStr(hour);
editMin.Text:
=IntToStr(min);
editSec.Text:
=IntToStr(sec);
end;
procedureTFormConsole.time1Timer(Sender:
TObject);
begin
sec:
=sec+1;
if(sec=60)then
begin
min:
=min+1;
sec:
=0;
end;
if(min=60)then
begin
hour:
=hour+1;
min:
=0;
end;
if(hour=24)then
begin
hour:
=0;
end;
editHour.Text:
=IntToStr(hour);
editMin.Text:
=IntToStr(min);
editSec.Text:
=IntToStr(sec);
end;
end.
添加用户界面:
UnitAdd.pas
unitUnitAdd;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls,jpeg,ExtCtrls;
type
TFormAdd=class(TForm)
Image1:
TImage;
lblUser:
TLabel;
lblPwd2:
TLabel;
lblPower:
TLabel;
jlblPwd1:
TLabel;
editUser:
TEdit;
editPwd2:
TEdit;
editPwd1:
TEdit;
ComboBox1:
TComboBox;
btnQuit:
TButton;
btnOk:
TButton;
procedurebtnQuitClick(Sender:
TObject);
procedurebtnOkClick(Sender:
TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
FormAdd:
TFormAdd;
implementation
{$R*.dfm}
usesUnitDataModule;
procedureTFormAdd.btnQuitClick(Sender:
TObject);
begin
Close;
end;
procedureTFormAdd.btnOkClick(Sender:
TObject);
varuser1,pwd1,pwd2,power:
String;
begin
user1:
=editUser.Text;
pwd1:
=editPwd1.Text;pwd2:
=editPwd2.Text;
power:
=IntToStr(comboBox1.ItemIndex+1);
ifdataModule1.ADOTable1.FieldValues['user']=user1then
begin
ShowMessage('用户已存在!
');
editUser.Clear;
editUser.SetFocus;
end
elsebegin
if(user1<>'')and(pwd1<>'')and(pwd1=pwd2)then
begin
withDataModule1.ADOTable1do
begin
Open;
Append;
FieldByName('user').AsString:
=user1;
FieldByName('pwd').AsString:
=pwd2;
FieldByName('power').AsString:
=power;
Post;
end;
ShowMessage('添加成功!
');
DataModule1.ADOTable1.Close;
end
else
begin
ShowMessage('用户名或密码为空或密码不一致,请重新输入!
');
editUser.Clear;editPwd1.Clear;editPwd2.Clear;
editUser.SetFocus;
end;
end;
end;
end.
数据模块:
UnitDataModule.pas
unitUnitDataModule;
interface
uses
SysUtils,Classes,DB,ADODB;
type
TDataModule1=class(TDataModule)
ADOConnection1:
TADOConnection;
ADOTable1:
TADOTable;
DataSource1:
TDataSource;
ADOQuery1:
TADOQuery;
ADOQuery2:
TADOQuery;
DataSource2:
TDataSource;
ADOQuery2user:
TWideStringField;
ADOQuery2pwd:
TWideStringField;
ADOQuery2power:
TIntegerField;
procedureADOQuery2pwdGetText(Sender:
TField;varText:
String;
DisplayText:
Boolean);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
DataModule1:
TDataModule1;
implementation
{$R*.dfm}
usesUnitUserMang;
procedureTDataModule1.ADOQuery2pwdGetText(Sender:
TField;
varText:
String;DisplayText:
Boolean);
begin
Text:
='******';
end;
end.
用户管理界面(可修改、添加星号密码,用户管理有登录用户的权限区别):
UnitUserMang.pas
unitUnitUserMang;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,ExtCtrls,DBCtrls,Grids,DBGrids,StdCtrls,jpeg;
type
TformUserMang=class(TForm)
Image1:
TImage;
DBNavigator1:
TDBNavigator;
editPower:
TEdit;
editUser:
TEdit;
lblPower:
TLabel;
lblUser:
TLabel;
btnUserQuery1:
TButton;
DBGrid1:
TDBGrid;
procedurebtnUserQuery1Click(Sender:
TObject);
procedureFormShow(Sender:
TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
formUserMang:
TformUserMang;
user1,power1,strSql2:
String;
implementation
{$R*.dfm}
usesUnitDataModule,UnitLogin,UnitView;
procedureTformUserMang.btnUserQuery1Click(Sender:
TObject);
begin
user1:
='%'+Trim(editUser.Text)+'%';
power1:
='%'+Trim(editPower.Text)+'%';
withdataModule1.ADOQuery2do
begin
Close;
SQL.Clear;
strSql2:
='select*fromAccountwhere';
strSql2:
=strSql2+'userlike'''+user1+'''andpowerlike'''+power1+'''';
SQL.Add(strSql2);
Open;
end;
end;
procedureTformUserMang.FormShow(Sender:
TObject);
begin
if(nowPower<>1)then
begin
formUserMang.DBGrid1.ReadOnly:
=true;
formUserMang.DBNavigator1.VisibleButtons:
=formView.DBNavigator1.VisibleButtons-[nbInsert,nbDelete];
end;
end;
end.
学生信息查询界面(包括普通模糊查询、围查询、实时动态查询以及自定义语句查询):
UnitView.pas
unitUnitView;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,DB,ADODB,ExtCtrls,DBCtrls,Grids,DBGrids,StdCtrls,Buttons,
jpeg;
type
TFormView=class(TForm)
DBGrid1:
TDBGrid;
DBNavigator1:
TDBNavigator;
btnQuery:
TBitBtn;
Image1:
TImage;
RadioGroup1:
TRadioGroup;
RadioButton1:
TRadioButton;
Label9:
TLabel;
Label8:
TLabel;
Label7:
TLabel;
Label6:
TLabel;
Label5:
TLabel;
Label4:
TLabel;
Label2:
TLabel;
Label11:
TLabel;
Label10:
TLabel;
Label1:
TLabel;
editSid3:
TEdit;
editSid2:
TEdit;
editSid:
TEdit;
editRange:
TEdit;
editName:
TEdit;
editHome:
TEdit;
editDIY2:
TEdit;
editDIY1:
TEdit;
editAge3:
TEdit;
editAge2:
TEdit;
editAge:
TEdit;
Label3:
TLabel;
editSex:
TEdit;
procedurebtnQueryClick(Sender:
TObject);
procedureFormShow(Sender:
TObject);
procedureRadioButton1Click(Sender:
TObject);
procedureRadioGroup1Click(Sender:
TObject);
procedureeditSidChange(Sender:
TObject);
procedureeditSexChange(Sender:
TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;