ÂÛÎÄ£¨¸ñʽ£©-ÑùÀý¹æ·¶ ÏÂÔØ±¾ÎÄ

ƽ¶¥É½¹¤ÒµÖ°Òµ¼¼ÊõѧԺ±ÏÒµÉè¼ÆËµÃ÷Êé

µÚ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