爱问知识人 爱问教育 医院库

下面这段delphi程序如何设置借阅失败

首页

下面这段delphi程序如何设置借阅失败

begin
if edit3.Text=''then showmessage('请输入书籍编号')
else if edit4.Text=''then showmessage('请输入书籍名称')
else if edit5.Text=''then showmessage('请输入书籍价格')
else if edit6.Text=''then showmessage('请输入作者')
else if edit7.Text=''then showmessage('请输入出版社名')
else if edit8.Text=''then showmessage('请输入借出日期')
else if edit25.Text='' then showmessage('请输入应还日期')
else if edit9.Text=''then showmessage('请输入读者姓名')
else if edit10.Text=''then showmessage('请输入读者性别')

else


begin
adoquery1.Edit;
adoquery2.Edit;
adoquery1.Active:=true;
adoquery2.Active:=true;
 ose;

 ear;

 d('update shuji set 馆内剩余=馆内剩余-1 where 书籍编号='''+edit1.Text+'''');
adoquery1.ExecSQL;

adoquery2.Append;
adoquery2.FieldByName('读者卡号').AsString:=edit2.Text;
adoquery2.FieldByName('资料编号').AsString:=edit3.Text;
adoquery2.FieldByName('资料名称').AsString:=edit4.Text;
adoquery2.FieldByName('资料价格').AsString:=edit5.Text;
adoquery2.FieldByName('作者').AsString:=edit6.Text;
adoquery2.FieldByName('出版社名').AsString:=edit7.Text;
//adoquery2.FieldByName('借出日期').Value:=tdate(datetimepicker1.Date);

adoquery2.FieldByName('借出日期').AsString:=edit8.Text;
adoquery2.FieldByName('读者姓名').AsString:=edit9.Text;
adoquery2.FieldByName('读者性别').AsString:=edit10.Text;
adoquery2.FieldByName('借出数量').AsString:=edit21.Text;
adoquery2.FieldByName('状态').AsString:=combobox1.Text;
adoquery2.FieldByName('应还日期').AsString:=edit25.Text;

adoquery2.Post;
          showmessage('借阅书籍【成功】!!');

          adoquery2.Append;

          //adoquery1.SQL.Text:='select * from shuji,duzhe';

          adoquery2.Open;
           edit1.Text:='';
          edit2.Text:='';




end;

end;

提交回答
好评回答
  • 2009-03-02 10:25:05
    try
      adoquery2.Post; 
    except
    //这里处理借阅失败
    end
     d('update shuji set 馆内剩余=馆内剩余-1 where 书籍编号='''+edit1.Text+''''); 
    上面这个应该放到触发器中做,你没有使用事务,这步应该和你的adoquery2.post一起执行的,并且减去的应该是adoquery2.FieldByName('借出数量'),而非1
    

    下***

    2009-03-02 10:25:05

其他答案

    2009-03-02 20:16:00
  • 你这样写是会出负数的,应该考虑 馆内剩余-1>0
    同意 栈桥捉鳖 的看法,不过事务到后面学吧
    另外看你的写法一次只能借一册,所以-1也不为过,但是不是太好。
    另外,有个小提议:在普通大学,本科生的借阅册数,借阅时间均小于研究生,所以,之前您提到的部分问题中忽略掉了此类问题。
    当然作为一个实验系统已经足够了。
    书籍管理做的虽然不少,但是真正能用的却非常少。大概都是为了应付毕业吧,呵呵。如果您拿着种系统去应聘,估计效果不好。毕业还久,静下心来慢慢分析客户需求,这才是编程的目的。
    随口胡诌,不必当真

    s***

    2009-03-02 20:16:00

类似问题

换一换
  • 其他编程语言 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 172-191
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):