下面这段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;
try adoquery2.Post; except //这里处理借阅失败 end d('update shuji set 馆内剩余=馆内剩余-1 where 书籍编号='''+edit1.Text+''''); 上面这个应该放到触发器中做,你没有使用事务,这步应该和你的adoquery2.post一起执行的,并且减去的应该是adoquery2.FieldByName('借出数量'),而非1
你这样写是会出负数的,应该考虑 馆内剩余-1>0 同意 栈桥捉鳖 的看法,不过事务到后面学吧 另外看你的写法一次只能借一册,所以-1也不为过,但是不是太好。 另外,有个小提议:在普通大学,本科生的借阅册数,借阅时间均小于研究生,所以,之前您提到的部分问题中忽略掉了此类问题。 当然作为一个实验系统已经足够了。 书籍管理做的虽然不少,但是真正能用的却非常少。大概都是为了应付毕业吧,呵呵。如果您拿着种系统去应聘,估计效果不好。毕业还久,静下心来慢慢分析客户需求,这才是编程的目的。 随口胡诌,不必当真
答:eXeScope 小巧但功能极其强大的本地化工具,可以直接修改 VC++ 及 DELPHI 编制的 PE 格式文件的资源,包括菜单、对话框、字符串和位图等,也可...详情>>
答:的意思是找不到指定的文件,你确定你的文件路径正确吗? 另外,调用的部分你用 n(shcmd)试试详情>>