当前位置: 首页 > >

delphi课程设计样例-图书管理(部分程序)

发布时间:

Delphi 课程设计示例 ――--图书借阅管理系统的设计与实现 ――--图书借阅管理系统的设计与实现 --图书借阅
图书借阅管理系统提供如下功能: (1)图书管理(图书信息入库、出库、修改) (2)读者管理(读者信息入库、出库、修改) (3)图书查询(按书名、作者、类别等进行条件查询) (4)借书服务 (5)还书服务 数据库设计: 一、数据库设计:图书表、读者表、借阅表的结构如下 图书表结构 属性名 书号 类别 出版社 作者 书名 定价 借出否 含义 书号 图书类别 出版社名称 作者姓名 书名 定价 是否被借出 读者表结构 属性名 编号 姓名 单位 性别 电话 含义 读者编号 读者姓名 读者单位 读者性别 读者电话 借阅表结构 属性名 书号 读者编号 借阅日期 含义 借阅书号 借阅者编号 借阅日期 数据类型 Char Char datetime 长度 10 8 8 允许空 No No No 主码或索引 主属性 主属性 索引 约束条件 外码(图书 .书 号) 外码(读者 .编 号) 数据类型 Char VarChar VarChar Char VarChar 长度 8 8 20 2 12 允许空 No No No Yes Yes 主码或索引 主码 索引 索引 ‘男’或‘女’ 约束条件 数据类型 char varChar varChar varChar varChar Smallmoney char 2 长度 10 10 20 30 30 允许空 No No Yes Yes No Yes No 索引 默认值为’否’ 主码或索引 主码 索引 索引 索引 索引 约束条件

数据库实现(ACCESS 环境) 二、数据库实现 1.建立数据库:文件 – 新建 – 空数据库 - 指定数据库名称‘图书读者’并指定路径 2.定义三个基本表(图书表、读者表、借阅表) 3.向表中输入部分模拟数据。
1

与数据库的连接: 三、建立 Delphi 与数据库的连接: 设置 ODBC 数据源和 BDE 数据源 (1)控制面板/管理工具/数据源(ODBC) (2)ODBC 数据源管理器:‘用户 DSN’选项卡/‘添加’按纽 (3)创建新数据源:Driver do Microsoft Access(*.mdb) (4)ODBC Microsoft Access 安装: 数据源名称(book-access) 数据源名称(book-access);选择(图书读者.mdb);确定。 (5)打开 BDE 管理器,确认‘book-access’也是 BDE 数据源。 四.使用 Delphi 编程实现图书馆管理系统 图书馆管理系统的部分功能 图书馆管理系统 1.图书信息维护模块的实现: 1.图书信息维护模块的实现:实现图书记录的增加、删除和修改功能 图书信息维护模块的实现 创建窗体 添加控件并设置属性:

(1)基本表控件 Table1(BDE 部件): databasename 属性(book-access); tablename 属性(图书表); active 属性(true) (2)数据源控件 DataSource1(DataAccess 部件): dataset 属性(Table1) (3)表格控件 DBGrid1(DataControls 部件): datasource 属性(DataSource1) (4)导航控件 DBNavigator1(DataControls 部件): datasource 属性(DataSource1)

2

2.图书查询模块的实现:实现按书名查询图书的功能 图书查询模块的实现: 创建窗体 添加控件并设置属性:

(1)基本表控件 Table1(BDE 部件): databasename 属性(book-access); tablename 属性(图书表); active 属性(true)。 (2)数据源控件 DataSource1(DataAccess 部件): dataset 属性(Table1) (3)表格控件 DBGrid1(DataControls 部件): datasource 属性(DataSource1) 事件代码( 方法查找数据) 查询按纽的 OnClick 事件代码(使用 GotoKey 方法查找数据): procedure TForm1.Button1Click(Sender: TObject); begin if Edit1.text='' then showmessage('请输入书名!') else with Table1 do begin IndexFieldNames:='书名'; SetKey; FieldByName('书名').AsString:=Edit1.Text; if GoToKey then else end; end; end.
3

showmessage('查询不成功!');

3.图书借阅模块的实现( 使用 SQL 语言实现查询数据和添加数据功能): 图书借阅模块的实现( 语言实现查询数据和添加数据功能) 创建窗体 添加控件并设置属性:

(1)SQL 数据集控件 Query1(BDE 部件): databasename 属性(book-access); SQL 属性(select * from 图书表); active 属性(true) (2)SQL 数据集控件 Query2(BDE 部件): databasename 属性(book-access); SQL 属性(select * from 读者表); active 属性(true) (3)SQL 数据集控件 Query3(BDE 部件): databasename 属性(book-access); (5)数据源控件 DataSource1(DataAccess 部件): dataset 属性(query1) (6)数据源控件 DataSource2(DataAccess 部件): dataset 属性(query2) (8)数据编辑框控件 DBEdit1(DataControls 部件): datasource 属性(DataSource1);Datafield 属性(书名) (9)数据编辑框控件 DBEdit2(DataControls 部件): datasource 属性(DataSource1);Datafield 属性(借出否) (10)数据编辑框控件 DBEdit3(DataControls 部件): datasource 属性(DataSource2);Datafield 属性(编号) (11)数据编辑框控件 DBEdit4(DataControls 部件): datasource 属性(DataSource2);Datafield 属性(姓名) 审核按纽的 事件代码:核实图书信息和读者信息 审核按纽的 OnClick 事件代码 procedure TForm1.Button1Click(Sender: TObject); begin if (edit1.text='') or (edit2.text='') then showmessage('请输入书号和读者编号!')
4

else begin query1.SQL.Clear; query1.SQL.Add('select * from 图书表 where 书号=:a'); query1.ParamByName('a').AsString:=trim(edit1.text); query1.Open; query2.SQL.clear; query2.SQL.Add('select * from 读者表 where 编号=:b'); query2.ParamByName('b').AsString:=trim(edit2.text); query2.Open; end; end; 事件代码: 借书按纽的 OnClick 事件代码 在借书表中增加借阅记录;修改图书表中被借书的‘借出否’字段值 procedure TForm1.Button2Click(Sender: TObject); var instr:string; begin if dbedit2.Text='是' then showmessage('该书已经被借出!') else begin //将借阅信息写入借阅表 instr:='insert into 借阅表 values('+trim(edit1.text)+','+trim(edit2.text)+','+ datetostr(date())+')'; query3.SQL.Clear; query3.SQL.Add(instr); query3.Execsql; //将借阅信息写入借阅表 query3.SQL.Clear; //在图书表中标记借出的图书 query3.SQL.Add('update 图书表 set 借出否=:jcfname where 书号=:a'); query3.ParamByName('jcfname').AsString:='是'; query3.ParamByName('a').AsString:=trim(edit1.text); query3.Execsql; //在图书表中标记借出的图书 showmessage('已经完成借书!'); end; end;

5




友情链接: