网站导航网学 原创论文 网站设计 最新系统 最新研究 原创论文 获取论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计下载 > DELPHI类作品 > 正文

基于DELPHI+SQL办公自动化OA系统的设计

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/05/11

网学网DELPHI类作品编辑为广大网友搜集整理了:基于DELPHI+SQL办公自动化OA系统的设计绩等信息,祝愿广大网友取得需要的信息,参考学习。

QQ交谈客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn

 

6 系统应用程序设计
6.1 系统模块组成
OA办公系统模块由系统管理、文档管理、电子邮件管理、工作任务管理、工作日程管理、发文管理等模块构成。系统管理又有操作员管理和修改密码模块。
6.2 数据模块的设置
在编写数据库应用程序时,经常要遇到这样的情况,即好多组件、窗体同时访问相同的数据源。如果为每一个组件或者窗体都设置一个数据源将是十分耗时的工件,而且要保证这些数据源的确是相同的也需花一番功夫。那么,能不能将这些数据源集中管理,最好是做成一个统一的模块,需要时就将该模块引入而不必直接操作数据源本身呢?数据模块(DataModule)是解决这个问题最好的答案。简单说来,数据模块是用来集中管理数据源的一个窗体,该窗体可被需要的地方随时引入。
在图1中,除报表窗体外所有的数据存取组件和数据源组件都在此数据模块中进行了定义。值得一提的是,设置了数据库Database组件,该组件引入了系统所需的唯一的数据库tsxs,Database组件的DatabaseName属性设置为tsckgl。tsxs数据库已在ODBC配置程序中进行了设置。其他的数据存取组件都是基于此数据库组件创建的,这样做的好处是,当数据库的别名或者其他信息改变之后,只需修改Tdatabase组件的AliasName属性即可。
另外,在本系统的数据模块窗体图中,大多采用的AODQuery组件而没有采用BDE组件,这主要是基于对ADO组件的了解。在Delphi的学习过程中增加了对ADO组件了解,使用也较BDE更为熟练,而且ADO组件的功能也较BDE更为强大,所以在这里大多采用ADO组件来进行数据库联接。同时也使用了BDE组件中的Table,因为在某些时候BDE有着其自身特有的优越性。
6.3 主要功能模块的实现
6.3.1登录模块
登录模块的主要功能是验证用户名及密码正确性,以及判定用户的权限既区别管理员与一般用户。登录页面主要代码如下:
strUserID:=edit1.Text;        //取用户输入的用户名
strpassword:=edit2.Text;    //取用户输入的密码
if (strUserID<>'''')and(strpassword<>'''') then
begin
with dm.cx do begin
sql.clear;
sql.add(''select * from Usersk where UserID=''''''+strUserID+'''''' and Password=''''''+strpassword+'''''''');
open;
if isempty then     //查询结果记录集为空
 showmessage(''姓名或密码错。'')
 else begin     //读取权限,并判断权限的值
form2.Show; //密码。帐号验证成功的话,就进入主采单
 self.Hide;
edit1.Text:=''''; //清空编辑框
edit2.Text:='''';
end;
close;      //关闭数据集ADODataSet1
end;
end
else
showmessage(''姓名、密码不能为空。'');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
close; //点出按纽推出。
登录界面主要功能是判断用户名及密码是否正确,以及判定用户权限。
登录效果图:

2 系统登录图
6.3.2系统主页面
系统主界面是整个OA系统的核心,通过前面的登录验证,他将向不同的用户开放不同的功能,系统主页面代码如下:
procedur
cdk:= [];
ADOQuery1.SQL.clear;
ADOQuery1.SQL.add(''select PermissionID from Role_Permissionsk where Role_Name=(select Role_Name from User_Rolesk where UserID=''+'''''''' + strUserID+ '''''''' + '')'');
ADOQuery1.Open;
adoquery1.First;
while not adoquery1.eof do
begin
cdk:= cdk + [ADOQuery1.Fields.FieldByName(''PermissionID'').asInteger];
adoquery1.next;
end;
If 1 in cdk then
N2.Visible:= true
else
N2.Visible:= false;

 

 

本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT

本文选自计算机毕业设计http://myeducs.cn
论文文章部分只是部分简介,如需了解更多详情请咨询本站客服!QQ交谈QQ3710167

  • 下一篇资讯: 水库枢纽管理模块
  • 原创论文

    设为首页 | 加入收藏 | 论文首页 |原创论文 |
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师