学delphi时的作品!!给点意见先! (118分)

  • 主题发起人 幸福鸟
  • 开始时间

幸福鸟

Unregistered / Unconfirmed
GUEST, unregistred user!
这个是我学Delphi时做的一个图书管理系统。
问:如果拿这个作品去找工作可以吗?给点建议,谢谢了!
http://www.playicq.com/dispdoc.php?t=27&id=2951
 
我下载了,但是在网吧,没有Delphi :(
不好意思,帮不上忙了。
 
还行,不过数据库应该用相对路径 DataBase/BookManager.mdb
 
图书管理很专业,不适合练手。
一般要包含:采访、编目、典藏、流通、检索等。
 
下不了??
 
谈谈我的感觉吧:
这个作品显示你有很好的delphi功底,但也暴露了你运用Sql的能力不足.举例:
(在DataModule中)
function TDM.GetAllBookNum:integer;
// 获得库中图书总数
var
Query:TADOQuery;
begin
result:=0;
Query:=TADOQuery.Create(self);
Query.Connection:=ADOConnection1;
Query.SQL.Text:='select * from book_stock';
Query.Open;
while not Query.Eofdo
begin
result:=result + Query.FieldByName('bookinnumber').AsInteger -
Query.FieldByName('bookoutnumber').AsInteger;
Query.Next;
end;
Query.Close;
Query.Free;;
end;
你这种做法是把图书的进出馆的记录都取到前台,再进行计算,在真实的一个应用中,这种方法
行不通(如果记录多,计算会很慢),其实你用一条Sql语句就可以算出你所需要的结果:
select (sum( bookinnumber) -sum(bookoutnumber)) as AllBookNum from book_stock
同理,以下的函数也可作同样的优化:
function TDM.GetStockBookNum(bookid:string):integer;
//获得库存中某书总数
var
Query:TADOQuery;
begin
result:=0;
Query:=TADOQuery.Create(self);
Query.Connection:=ADOConnection1;
Query.SQL.Text:='select bookinnumber,bookoutnumber from book_stock '+
'where bookid=:id';
Query.Parameters.ParamByName('id').Value:=bookid;
Query.Open;
while not Query.Eofdo
begin
result:=result + Query.FieldByName('bookinnumber').AsInteger -
Query.FieldByName('bookoutnumber').AsInteger;
Query.Next;
end;
Query.Close;
Query.Free;
end;

我好像发现你的这个作品中很少(甚至没有?)利用sql做过计算
 
十分感谢,真是一句话 点醒我梦中人!
 
第一:楼上兄弟讲和我就不提了
第二:只能说DELPHI有一定的功底,但一看就知道你经验不是很丰富
第三:界面还要下大功夫
第四:这个程序千万不要去应骋,绝没戏
第五:多学习一些第三方控件,肯定能减少你的CODE时间
第六:一定要在某一个方面突出你的水平,但在这个程序中我看不到
第七:你的权限设置很不合理
第八:你的图书分类也太简单,练手也要象模象样,否则不如不练
 
同意楼上
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
762
DelphiTeacher的专栏
D
D
回复
0
查看
681
DelphiTeacher的专栏
D
D
回复
0
查看
757
DelphiTeacher的专栏
D
D
回复
0
查看
824
DelphiTeacher的专栏
D
D
回复
0
查看
871
DelphiTeacher的专栏
D
顶部