ƽ¶¥É½¹¤ÒµÖ°Òµ¼¼ÊõѧԺ±ÏÒµÉè¼ÆËµÃ÷Êé
µÚ4Õ µµ°¸¹ÜÀíϵͳµÄʵÏÖ
±¾ÕÂÐðÊöÁËϵͳ¿ª·¢µÄÏêϸ¹ý³Ì£¬Ê×ÏÈÃ÷È·ÁËϵͳËùʹÓõĿª·¢»·¾³ºÍÔËÐл·¾³£¬¼´²ÉÓÃDelphiÓïÑÔΪ¿ª·¢Æ½Ì¨£¬Êý¾Ý¿â²ÉÓÃSQL Server 2000£¬¶øUMLͼµÄ»æÖÆÔòÊÇÊDzÉÓÃÁËRational Rose 2003¡£È»ºó¸ù¾ÝÉÏÒ»ÕµÄϵͳµÄÐèÇó·ÖÎöºÍ×ÜÌåÉè¼Æ£¬·Ö±ðÏêϸʵÏÖÁËѧÉúµµ°¸¹ÜÀíϵͳµÄ½çÃæÉè¼Æ£¬È»ºóͨ¹ýÓÖʹÓÃSQL Server 2000Èí¼þʵÏÖÁËÊý¾Ý¿âµÄ±íµÄÉè¼Æ²¢Íê³ÉÁËÏà¹ØÊÓͼµÄ½¨Á¢£¬×îºóÏêϸ½éÉÜÁË´æ´¢¹ý³Ì´´½¨ºÍÊý¾Ý¿âµÄÁ¬½ÓµÄ¼¼Êõϸ½Ú£¬²¢¸ø³öÁ˲¿·Öϵͳ½çÃæ¡£
4.1 ¿ª·¢»·¾³µÄÑ¡Ôñ
ϵͳ²ÉÓÃDelphiÓïÑÔΪ¿ª·¢ÓïÑÔ£¬Êý¾Ý¿â²ÉÓÃSQL Server 2000¡£¶øUMLͼµÄ»æÖÆÔòÊÇÊDzÉÓÃÁËRational Rose 2003Èí¼þ¡£
Rational Rose ÊÇÒ»¸öÍêÈ«µÄ£¬¾ßÓÐÄÜÂú×ãËùÓн¨Ä£»·¾³£¨Web¿ª·¢£¬Êý¾Ý½¨Ä££¬Visual StudioºÍ C++ £©ÐèÇóÄÜÁ¦ºÍÁé»îÐÔµÄÒ»Ì×½â¾ö·½°¸¡£Rose ÔÊÐí¿ª·¢ÈËÔ±£¬ÏîÄ¿¾Àí£¬ÏµÍ³¹¤³ÌʦºÍ·ÖÎöÈËÔ±ÔÚÈí¼þ¿ª·¢ÖÜÆÚÄÚÔÚ½«ÐèÇóºÍϵͳµÄÌåϵ¼Ü¹¹×ª»»³É´úÂ룬Ïû³ýÀ˷ѵÄÏûºÄ£¬¶ÔÐèÇóºÍϵͳµÄÌåϵ¼Ü¹¹½øÐпÉÊÓ»¯£¬Àí½âºÍ¾«Á·¡£Í¨¹ýÔÚÈí¼þ¿ª·¢ÖÜÆÚÄÚʹÓÃͬһÖÖ½¨Ä£¹¤¾ß¿ÉÒÔÈ·±£¸ü¿ì¸üºÃµÄ´´½¨Âú×ã¿Í»§ÐèÇóµÄ¿ÉÀ©Õ¹µÄ¡¢Áé»îµÄ²¢ÇÒ¿É¿¿µÄÓ¦ÓÃϵͳ[37]¡£
4.2 ϵͳ¹¦ÄÜÄ£¿éʵÏÖ
´ÓµÚÈýÕ¿ÉÒԵóöѧÉúµµ°¸¹ÜÀíÐÅϢϵͳ°üÀ¨ÒÔÏÂ5¸ö²¿·Ö×é³É£¬·Ö±ðÊÇ£º £¨1£© Óû§µÇ¼½çÃæ¼°ÏµÍ³Ö÷½çÃæ £¨2£© ѧÉúµµ°¸¹ÜÀíÄ£¿é £¨3£© ѧÉúµµ°¸²éѯ¹ÜÀíÄ£¿é
£¨4£© ѧÉúµµ°¸Àà±ð¹ÜÀí½çÃæ¼°µµ°¸¹ñ×ÊÁϹÜÀíÄ£¿é £¨5£© ѧÉúµµ°¸½èÓùÜÀí½çÃæ¼°µµ°¸¹é»¹¹ÜÀíÄ£¿é
ÓÉÓÚÂÛÎÄÆª·ùËùÏÞ£¬ÏÂÃæ½ö¾ÍÒÔÏÂÈý¸öµäÐ͵ÄÄ£¿é½øÐнéÉÜ¡£
14
ƽ¶¥É½¹¤ÒµÖ°Òµ¼¼ÊõѧԺ±ÏÒµÉè¼ÆËµÃ÷Êé
4.2.1 ѧÉúµµ°¸¹ÜÀíÄ£¿éʵÏÖ
ѧÉúµµ°¸¹ÜÀíÄ£¿éÖ÷ÒªÓÃÓÚά»¤µµ°¸µÄ»ù±¾ÐÅÏ¢£¬ÒÔ±ã¹ÜÀíÈËÔ±Ìí¼Ó¡¢Ð޸ĺÍɾ³ýµµ°¸ÐÅÏ¢¡£
ÔÚ½çÃæÖУ¬Òª·ÅÖÃ3¸öADOQuery×é¼þ£¬È»ºó£¬ÔÚ½çÃæÉÏ·ÅÖÃ1¸öDataSourse×é¼þ£¬¸÷¸ö×é¼þµÄÊôÐÔÈçϱí4-1Ëùʾ¡£
±í4-1 ¸Ã½çÃæËùÐè×é¼þÊôÐÔ ×é¼þÃû³Æ ADOQuery ÊôÐÔ Name Connection SQL ADOQuery Name Connection SQL ADOQuery Name Connection SQL DataSource Name DataSet ÉèÖà DaEdit ConDaLei Select*from view_FilesContent DaGuild ConDaLei Select distinct µµ°¸¹ñºÅ from view_FilesContent Getfilecatory ConDaLei Select Cgname from FilesCategory CdDaEdit DaEdit
È»ºó£¬Îª±¾½çÃæÌí¼ÓOnCreateʼþÏìÓ¦£¬ÒÔ³õʼ»¯´°ÌåÐÅÏ¢¡£´úÂëÈçÏ£º Procedure TfGBset.EokClick(Sender:TObject); begin
if Edittype.ItemIndex=0 then //Ð޸İ´Å¥±»Ñ¡ÖÐ begin
with fdm.ExecSql do
15
ƽ¶¥É½¹¤ÒµÖ°Òµ¼¼ÊõѧԺ±ÏÒµÉè¼ÆËµÃ÷Êé
begin
close; Sql.clear;
Sql.Add(Format(ExcUpdate,[DBEdit.text,
DBEdit2.text,dangtype.text,Dagui.text,DBEdit4.text,DBMemol.text,DaStatus.text,DBEdit5.text])); //Ö´ÐвÙ×÷ ExecSql;
end; end else begin
with fdm.ExecSql do begin
close; Sql.clear;
Sql.Add(Format(InsertSql,[DBEdit.text,DBEdit2.text,Trim(dangtype.text),DaGui.text,DBEdit4.text,DBMeo1.text,DaStatus.text,DBEdit5.text]));
Sql.Clear;Sql.Add(Format(GetDa,[Trim(dangtype.text)])); Open; end; end;
ÉÏÊö´úÂëÖÐËùʹÓõÄGetDaÊÇÔÚSqlStrµ¥ÔªÖж¨ÒåµÄ³£Á¿£¬´úÂëÈçÏ£º GetDa=?SELECT FilesContent.Status as ¡°×´Ì¬¡±,FilesContent.FileId as ¡°µµ°¸±àºÅ¡±£¬FilesContent.Fname as ¡°Ãû³Æ¡±£¬?+?FilesContent.
Contents as ¡°ÄÚÈÝ¡±£¬FilesContent.CabinetId as ¡°µµ°¸¹ñºÅ¡±£¬Filescabinet.cbname as ¡°µµ°¸¹ñ¡±+?FilesContent.Ftime as ¡°½¨µµÈÕÆÚ¡±£¬FilesContent.Content.Remarks as ¡°±¸×¢¡±FROM?+?FilesContent,
FilesCategory, FilesCategory,FilesCabinet where filescontent.category
16
ƽ¶¥É½¹¤ÒµÖ°Òµ¼¼ÊõѧԺ±ÏÒµÉè¼ÆËµÃ÷Êé
id=filescategory.categoryid?+?and filescabinet.cabinetid=
filescontent.cabinetid=filescontent.cabinetid and filescategory.cgname =¡±%s¡±
¹ÜÀíÈËÔ±ÔÚѧÉúµµ°¸ÐÅÏ¢ÁбíÖÐÑ¡ÔñÁËÄ¿±êµµ°¸ÐÅÏ¢ºó£¬Èç¹ûÑ¡ÔñµÄ²Ù×÷ÀàÐÍÊÇ¡±Ð޸ġ±Ê±£¬±à¼À¸ÖоͻáÏÔʾ¸Ãµµ°¸µÄÏêϸÐÅÏ¢¡£¹ÜÀíÈËÔ±ÐÞ¸ÄÍê±Ïºó£¬µ¥»÷¡±È·¶¨¡±°´Å¥¼´¿ÉÍê³É¶Ô¸Ãµµ°¸ÐÅÏ¢µÄÐ޸ġ£
Èç¹û½«²Ù×÷ÀàÐÍÉèΪ¡±Ìí¼Ó¡±Ê±£¬¹ÜÀíÈËÔ±¿ÉÌîдеĵµ°¸ÐÅÏ¢£¬È»ºóµ¥»÷¡±È·¶¨¡±°´Å¥£¬ÏµÍ³¾Í»áÔÚµ±Ç°ËùÑ¡ÔñµÄµµ°¸Àà±ðϼÈëµÄ¸Ãµµ°¸ÐÅÏ¢¡£
ΪʵÏÖÉÏÊö¹¦ÄÜ£¬Ìí¼Ó¡±È·¶¨¡±°´Å¥µÄOnClickʼþÏìÓ¦¡£´úÂëÈçÏ£º Procedure TfGBset.EokClick(Sender:TObject) begin if Edittype.ItemIndex=0 then //Ð޸İ´Å¥±»Ñ¡ÖÐ begin
//ExecSql ÊÇÔÚ½çÃæÖж¨ÒåµÄÒ»¸öADOQuery×é¼þ with fdm.ExecSql do begin
close; Sql.clear;
Sql.Add(Format(ExcUpdate,[DBEdit2.text,dangtype. text,DaGui.text,DBEdit4.text,
DBMemo1.text,DaStatus.text,DBEeit5.text])); //Ö´ÐвÙ×÷ ExecSql£» end£»
end else begin
with fdm.ExecSql do begin
17