前言
从事软件开发工作好多年了,学的越深入越觉得自己无知,所以还是要对知识保持敬畏之心,活到老,学到老!
健身和代码一样都不能少,身体是革命的本钱,特别是我们这种高危工种,所以小伙伴们运动起来!有没有健身撸铁,体脂现在是多少呀?明年(2019/03/22)徐州的马拉松有没有报名呀!?
扯的有点远了,接下来我将抽三天时间手把手教你基于Delphi7+Access,同时搭配第三方控件RC、AlphaControl(第三方控件主要用于美化界面),完成通用管理系统架构的设计。骚年,想想是不是还有点小激动?
涉及知识点
- Access数据库建立与关键表结构设计
- Delphi ADOConnection动态连接Access数据库
- Delphi前台fsMDIForm和fsMDIChild窗体设计
- dxBarManager方式通用菜单架构设计
- 主界面常见状态栏涉及与动态更新(软件版本信息、时间状态信息、登录组信息、滚动信息、当前时间...)
- Delphi通用登录界面设计及主界面载入交互
- MD5方式验证和保存密码
- 动态窗体菜单列表(打开窗体事件、销毁窗体事件)
- RzCheckTree方式设计常见用户权限
- imageList图表库
- 第三方控件:RC、AlphaControl皮肤控件
看到这么多知识点是不是感觉有点晕啊!
没关系,接下来我们一步一步实现!注意我们的口号,保持对知识的敬畏之心!
整体设计方案
这个是我们系统实现部分的一个设计方案,因为系统是通用的嘛,所以这里我就叫它Common Management System了,下面简称CMS。
这里暂不做DFEMA和PFEMA的深层次分析,有BUG的系统才是好系统,不然还要开发和维护人员做什么?(客户小姐姐:呸,渣男!)
项目实现
骚年,扶好了,我要教你开车了, 啊呸,我要教你开发了。
Access数据库建立与关键表结构设计
创建一个Access文件,命名为DataX.mdb,再创建两张表,分别命名为sysUser和sysUserAuthority,其中ID栏位自动生成,VDate栏位为日期格式,其余栏位均为长文本根式,并添加如下数据,如下图。
Delphi ADOConnection动态连接Access数据库
启动Delphi7,新建一个项目,分别命名为:工程文件命名为:CommonManagementSystem.dpr,单元文件命名为:uMain.pas,主窗体命名为:MainFrm。
然后保存,注意文件的保存位置,因为接下来连接Access数据库时需要根据相对路径来,参考下图。
然后,在主窗体上放一个ADOConnection控件,命名为conMain。接下来在工程onShow事件中写如下代码:
1 procedure TMainFrm.FormShow(Sender: TObject); 2 begin 3 // 动态连接Access数据库 4 try 5 Screen.Cursor := crSQLWait; 6 ChDir(ExtractFilePath(Application.ExeName)); 7 ChDir('..'); 8 try //动态加载数据库 9 conMain.Connected := False; 10 conMain.ConnectionString := 'Provider=Microsoft.Jet.OlEDB.4.0;Data Source=' + GetCurrentDir + '\DataX\DataX.mdb' + ';User ID=admin;Password=;Persist security Info=False'; 11 conMain.Connected := True; 12 conMain.LoginPrompt := False; 13 statusPaneAccess.Caption := '数据库已连接';//状态栏控件statusPane 14 Screen.Cursor := crDefault; 15 except 16 Screen.Cursor := crDefault; 17 statusPaneAccess.Caption := '数据库未连接'; 18 MessageDlg('数据库连接失败,请确认!', mtError, [mbOK], 0); 19 end; 20 Screen.Cursor := crDefault; 21 except 22 statusPaneAccess.Caption := '数据库未连接'; 23 MessageDlg('数据库连接失败,请确认!', mtError, [mbOK], 0); 24 end; 25 end;
OK,到这里工程动态连接Access数据库的功能已经实现了。
骚年,是不是感觉很简单,是的,你没有看错,跟着我一步步做,就是so easy!(
请发表评论