平顶山工业职业技术学院毕业设计说明书
close; Sql.clear;
Sql.Add(Format(InsertSql,[DBEdit1.text,DBEdit2.text,
Trim(dangtype.text),DaGui.text,DBEdit4.text,DBMemo1.text, DaStatus.text,DBEdit5.text])); ExecSql; end;
with fdm.DaEdit do //刷新界面 begin
close; Sql.Clear;
Sql.Add(Format(GetDa,[Trim(dangtype.Text)])); open;
end; end; end;
另外,如果管理人员在”修改”状态下,单击”删除”按钮时,即可对当前所选定的当按信息进行删除操作。添加”删除”按钮的OnClick事件响应。代码如下: Procedure TfGBset.EdeleClick(Sender:TObject); begin
if MessageDlg(?确定要删除该档案么??,mtCustom,[mbYes, mbNo],0)=mrYes then begin
with fdm.ExecSql do
begin
close;
18
平顶山工业职业技术学院毕业设计说明书
Sql.Clear;
Sql.Add(Format(DeleteSql,[DBEdit.text])); ExecSql; End;
with fdm.DaEdit
do//刷新 begin
close; Sql.Clear;
Sql.Add(?select * from view_FilesContent?); Open;
end; end; end;
4.3 数据库访问的实现
4.3.1 视图的创建
在本系统中,为了便于浏览档案的基本信息、借用以及归还信息,我们创建了3个视图,view_SFContent、view_SFBorrow和view_SFReturn.这三个视图的Transact-SQL代码如下:
(1)视图view_SFContent用于监视档案的基本信息 CREATE VIEW dbo.view_SFContent AS
SELECT dbo.FilesContent.Status AS状态dbo.FilesContent,FileId AS 档案编号,
dbo.FilesContent.Fname AS 名称,dbo.FilesContent.contents AS 内容,dbo.FilesContent.CabinetId AS 档案柜号,dbo.FilesCabinet.Cbname AS 档案柜,dbo.FilesContent.Ftime AS 建档日期,dbo.FilesContent.Remarks
19
平顶山工业职业技术学院毕业设计说明书
AS 备注 From dbo.FilesContent INNER JOIN
dbo.FilesCabinet ON dbo.FilesContent.CabinetId=dbo.FilesCabinetId (2)视图view_SFBorrow用于显示档案的借用信息 CREATE VIEW dbo.view_SFBorrow
SELECT FilesBorrow.Status as “状态”,FileBorrow.FbId as “借用编号”,
FilesBorrow.FileId as “档案编号”,FilesContent.Fname as “档案名称”, FilesBorrow.Borrower as“借用人员”,FilesBorrow.Btime as “借用日期”,FilesBorrow.Remarks as备注
FROM FilesBorrow,FilesContent
WHERE FilesBorrow.FileId=FilesContent.FileId
(3)视图view_SFReturn用于显示档案的归还信息。 CRETATE VIEW dbo.view_Freturn AS
SELECT dbo.FilesReturn.FrId AS 归还编号,dbo.FilesReturn.FileId AS 档案编号,
dbo.FilesContent.Fname AS 档案名称dbo.FileReturn.ReturnerAS 归还人, dbo.FilesReturn.Rtime AS 归还时间, dbo.FilesReturn.Remarks AS 备注
FORM dbo.FilesReturn INNER JOIN
dbo.FilesContent ON dbo.FilesReturn.FileId= dbo.FilesContent.FileId
在程序中,我们可以使用者三个视图直接查询并显示多个表中的学生档案信息、己用及归还信息,例如视图view_SFBorrow和学生档案信息表FilesContent中的信息,从而大大的简化了程序设计[43]。 4.3.2 存储过程的创建
在本系统运行过程中,有一些工作需要经常进行,不如向各个表中插入或更新学生档案的基本信息、档案借用及归还信息等操作。为了提过系统的运行效率,
20
平顶山工业职业技术学院毕业设计说明书
在这里创建了几个存储过程。列举以下几个存储过程,它们的Transact-SQL代码如下:
(1) 存储过程IsertFContent用于向学生档案信息表中添加记录。 (2) 存储过程InsertFCategory用于向学生档案类别表中添加记录。 (3) 存储过程InsertBorrow用于向学生档案借用表中添加记录,并修改学生档案信息表中对应档案的状态。
(4) 存储过程UpdateFContent用于对学生档案信息表的记录进行更新。 (5) 存储过程InsertFReturn用于向学生档案归还表FilesReturn添加记录,并修改档案信息表FilesContent及学生档案借用表FilesBorrow中对应档案的状态。
(6) 存储过程DeleteFReturn用于对学生档案归还表FilesReturn的记录进行删除,如果学生档案借用表FilesBorrow中有相应档案的信息,则要修改学生档案信息表FilesContent及学生档案借用表FilesBorrow中对应档案的状态[44]。
(7) 存储过程DeleteFBorrow用于对学生档案借用表FilesBorrow的记录进行删除,并修改学生档案信息表FilesContent对应档案的状态。
在应用程序运行的过程中将调用这些存储过程,完成对学生档案基本信息、借用以及归还信息的插入、更新、删除等工作。 4.3.3 数据库的连接
1)创建数据源及工程项目
在用程序代码实现调用数据库之前,我们首先应该在Windows的ODBC数据源管理器中注册数据库FilesglSys。
本实例将在Delphi7.0开发平台下进行系统开发,首先要创建该系统的工程文件IDMS.dpr。具体步骤是:运行 Delphi7.0主程序,,然后创建一个新的应用程序工程。然后单击保存,将工程命名为IDMS,保存主窗口为Main.pas。
2)建立与数据库的连接
在实现各个模块之前,首先需要建立与数据库FilesglSys的连接。在该实例中,
21