毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

Delphi+Access图书管理系统 第3页

更新时间:2007-10-23:  来源:毕业论文

procedure Tlendform.FormShow(Sender: TObject) ; // 借阅管理借出按钮事件
var
  i:integer; 
begin
  with datamoduleado.ADOQuery1 do // 响应datamoduleado.ADOQuery1按钮事件
  begin
    sql.Clear ;
    sql.Add('select code from book');
    open;
    first;
    for i:=0 to recordcount-1 do
    begin
      combobox1.Items.Add(fieldbyname('code').AsString );
      next;
    end;
    close;
  end;
end;
//对借阅管理借出按钮事件的响应
procedure Tlendform.ReaderIDEditChange(Sender: TObject);
begin
  if length(readerIDEdit.Text )=10 then  //判断借书证号是否存在
  begin
    with datamoduleADO.ADOQuery1 do
    begin
      sql.Clear ;
      sql.Add('select readerid from reader where readerid=:readerid');
      parameters.ParamByName('readerid').Value :=readeridedit.Text ;
      open;
      if recordcount=0 then    //借书证号不能为0
      begin
        button1.Enabled :=false;
        messagedlg('借书证号<'+readeridedit.Text +'>不存在',mterror,[mbok],0);
        close;
        exit;
      end;
      close;
    end;

    try
      with datamoduleado.ADOQuery1 do
      begin
        sql.Clear ;
        sql.Add('select count(readerid) from lend where readerid=:readerid');
        parameters.ParamByName('readerid').Value :=readeridedit.Text ;
        open;
        totaledit.Text :=inttostr(fields[0].Value );
        close;
      end;
    except
      totaledit.Text :='0';
    end;

    button2.Enabled :=false;
    button1.Enabled :=true;
    button1.SetFocus ;
  end;

end;

procedure Tlendform.Button1Click(Sender: TObject);
var
  tempownbook:townbook;
  canlend:boolean;
  mmcode:string;
begin
  if readeridedit.Text <>'' then            //借书证号不能为空
  begin
  try
    with datamoduleado.adoquery1 do
    begin
      sql.clear;
      sql.Add('select code from lend where readerid=:readerid');
      parameters.ParamByName('readerid').Value :=readeridedit.Text ;
      open;
      canlend:=true;
      ownbookform.ListView1.Items.Clear ;

      mmcode:=fieldbyname('code').AsString;

      while not eof do
      begin
        with tempadoquery1 do
        begin
        sql.Clear ;
        sql.Add('select * from book where code =:code') ;
        parameters.ParamByName('code').Value :=mmcode;
        open;
        tempownbook.code:=fieldbyname('code').asstring;
        tempownbook.name:=fieldbyname('name').asstring;
        tempownbook.price:=fieldbyname('cost').asstring;

        try
         with tempadoquery2 do
         begin
           sql.Clear ;
           sql.Add('select * from lend where code=:code and readerid=:readerid');
           parameters.ParamByName('code').Value :=datamoduleado.ADOQuery1.fieldbyname('code').AsString ;
           parameters.ParamByName('readerid').Value := readeridedit.Text ;
           open;
           tempownbook.owndays:=round(date-fieldbyname('outdate').AsDateTime );
           close;
         end;
        except
           tempownbook.owndays:=0;
        end;

        close;
      end;

      if tempownbook.owndays>60 then       //超过60天后所交罚金
      begin
        with ownbookform.listview1.Items.add do
        begin
         caption:=tempownbook.code;
         subitems.add(tempownbook.name);
         subitems.add(tempownbook.price);
         subitems.Add(inttostr(tempownbook.owndays));
         subitems.Add(floattostr((tempownbook.owndays-60)*0.1));
        end;
        canlend:=false;
      end;
    next;
  end;
    close;
  end;
except
 canlend:=true;
end;
try    //响应借书证号不正确,则借书不成功,出现提示
  with DatamoduleADO.adoquery1 do
  begin
    sql.clear;
    sql.add('insert into lend(code,readerid,outdate)'+' values(:code,:readerid,:outdate)');
    parameters.parambyname('code').value:=combobox1.text;
    parameters.parambyname('readerid').value:=readeridedit.text;
    parameters.parambyname('outdate').value:=datetostr(now());
    execsql;
  end;
except
  messagedlg('借书不成功',mterror,[mbok],0);
 end;
end;
else begin
        showmessage('请输入借书证号!');
        readeridedit.setfocus;
     end;
end;
其他代码与上述功能代码相似,就不一一赘述。

5、测试
 5.1、单元测试
 (1)图书管理系统测试
测试用例 正误 结果
图书编号 3333 × 数据长度不对
 图书名称 软件工程 √ 正确
借阅者 王1 × 类型不匹配
入库日期 2002-1-1 × 格式不正确
价格 20.00 √ 正确

(2)借阅者借书测试

测试用例 正误 结果
借书证号 0000000001 √ 正确
 姓名 王小 √ 正确
班级 计算机教育 √  正确
借书证号 000003 × 数据长度不正确
借书证号 Krrr2220 ×  类型不匹配

 (3)续借办理测试
   输入编号后,查询此书信息。如果该书并未借出,则只能显示其基本信息,不能进行续借操作。如:图书编号(6),图书名称(招生考试),显示该图书没有借出;图书编号(5)查询后,续借按钮是活动的。

上一页  [1] [2] [3] [4] 下一页

Delphi+Access图书管理系统 第3页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。