Ӧ



Ӧ

ĶTOP10

ͼݹϵͳ
Сҵ칫Զϵͳʵ
ѧϵͳ
ӿڱڻϵͳеӦ
ݼܼ
ϢԸУͼݹӰ
ܼܷԼӦ
ϵͳƼҵеӦ
Client/Server Ŀμϵͳʵ
ʵʱԶ̴ϵͳ

ݽ´ŷ
ĵ
¼
ܽ㱨ƻ
÷дָ
֤ȯй
ծг
о֤ȯͶ
Ͷʾ
ʾ
гӪ
ɱ
CPAҵѧ
սԾιѧ
ɱѧ
Դ
˰
˰˰
˰ծо
оѧ
йѧ
¾ѧҵ
ʾѧ
طչս
ó
ùҵս
гӪ
ҵоҵĻ
ĻĻ
ͳĻѧ
ѧѧ
Ӱ
ѧ
˿ũо
ѧʷѧ
ѧѧ
ͳѧѧ
ҵͨ
ˮѧϹѧ
ѧͨѧ
Ӧ
ѧ
оѧ
ѧ˼ѧ
Ƽѧйѧ
ѧ߼ѧ
ʱ
˼
ѧ˾ƶ
÷
ҽѧҽѧ
ٴҽѧҩѧ
ԱѶ
ϰָ
ָѧ
ͼݹϵͳ

δ֪ ԴӦд ʱ2005-12-29¹վ

ͼݹϵͳ  
ʱ䣺 2004-03-17  ߣ  
ժ   Ҫ
ͼϵͳǵ͵Ϣϵͳ(MIS),俪Ҫ̨ݿĽάԼǰӦóĿ档ǰҪһԺǿݰȫԺõĿ⡣ںҪӦó걸,ʹõص㡣
˱˽ϿʽͼݵҪ󣬶MS SQL Server2000ݿϵͳSQLԭDelphiӦóƣDelphiݿ⼼˽ѧϰӦãҪɶͼϵͳģ黮֡ݿģʽɴݿṹӦóϵͳн֤ƵͼϵͳߡͼݹԱ͸߼ԱҪ
һ¶ݿӦϵͳͼϵͳ˼Ľܣ˿ͼϵͳӦеĹ
ڶ¶ݿƺSQLԵʹýϵͳΪݿӦô˻
ѧϰ˾ĿDelphi 6.0ݿSQLDelphiеӦõݿ̹ؼϵͳĽܡ
·ͼϢϵͳӦ󣬰ݿһһظϵͳ˵顢ֲERͼȫERͼϵͳϵģʽģʽMSSQLServer2000ݿ
½˾ijƣ廮ûIJȨޣ档ʵݿ¼ӡɾ޸ģɣʵ˶ݿӲʵ˶ѯģѯʵ˶Բɸ²ѯĸ²ʵӱʵάܣϵͳԵݿԶͬṹݿв
ƳDelphi 6MS SQL Server2000ݿ⼼ǿ˱ЧʺͿɿԡ
ؼʣݿ⣬SQLԣMS SQL ServerDelphi6
ݿͼ壬listview 
 
Ŀ    ¼
ժ  Ҫ  I
һ      1
1.1 ݿӦϵͳ  1
1.2 ͼϵͳ  4
1.3 Ҫ  6
ڶ  ݿۻ  7
2.1 ݿϵͳƼʽ  7
2.2 SQLԽܡ 11
2.2.1 SQL   11
2.2.2 SQL   12
  Ӧϵͳߡ 16
3.1 Delphi6.0VCLϵṹ 16
3.2 ݿ   17
3.3 SQLDelphiеӦ   18
3.4 MS SQL Server    22
  ͼϵͳƷ  24
4.1 Ӧ  24
4.2 ϵͳģ黮  29
4.3 ϵͳݿ  29
  ͼϵͳӦó  37
5.1 ϵͳģ  37
5.2 ģ鴰  37
5.3ʵ֡ 38
5.4û¼ĵʵ֡ 39
5.5û֤ĵʵ֡ 39
5.6߷ģʵ֡ 40
5.6.1ͼѯܵʵ֡ 41
5.6.2ߵ¼ܵʵ֡ 42
5.6.3߽ܵʵ֡ 43
5.6.4߸άܵʵ֡ 47
5.7Աͼ/黹ģʵ֡ 49
5.7.1ԱͼĹʵ֡ 50
5.7.2Աͼ黹ʵ֡ 53
5.8ͼݹԱģʵ֡ 54
5.8.1ͼݹԱͼܵʵ֡ 55
5.8.2ͼݹԱԱ͹Աܵʵ֡ 58
5.8.3ͼݹԱ޸ͼͳǹܵʵ֡ 60
5.8.4ͼݹԱ߹ܵʵ֡ 62
5.8.5ͼά߹ܵʵ֡ 62
5.8.6ͼάܵʵ֡ 64
5.8.7ͼݽͳƹܵʵ֡ 65
5.8.8ͼͳƽĹڼ¼ܵʵ֡ 67
5.9ϵͳϢʾʵ֡ 68
   69
  л 70 
οĿ  70
 

һ    
1.1  ݿӦϵͳ
ݿӦϵͳ֮ǰԿݿĻӦ˽⣬ݿĽṹݿӦóIJ衢ϵӦ൱˽ʶ
ݿӦϵͳĿǽһûIJƷҪΪûȻ󣬰תΪЧݿơתΪʵʵݿ⣬Щݿй걸ЧܵӦá
ݿ⼼ڼоһֱǷdzҪ⣬6030ݿ⼼õѸٷչγɽΪϵһʵϵͳңWorld Wide Web(WWW)InternetѸٷչʹݿ⼼֮ʱΪż֮һ
1.1.1  ݿ
ͼ1.1ʾݿϵͳҪݿDBMSݿϵͳDBMSɿԱûͨӦóֱӻӵʹáҪĸҪأûݡԪݡӦԪݡ

1.1.1.1 û
ĿǰݿϵͳûݱʾΪϵڰѹϵݱаԣаӦҵ񻷾еʵļ¼еĹϵͬҪЩϵϵṹһЩڶһԲýṹϵḶ́淶
Ϊ˶ԱȽṹĹϵͽṹõĹϵ֮IJԱƵͼϵͳеͼͼ߹ϵΪ˵ƹϵR1֤ţԱݱţ֤ϵ绰ͼ,ͼƣͼߣ磬ڣע۸ϵйͬݣͼߺͼ顣ַʽɵĹϵڽ޸ʱ⡣Ϊһͼ߿ܽĶ౾飬ijͼߵijֶΣϵ绰ֱĵͼ¼ܶҲͱ仯Dzõġϵʾáijͼ߸ıϵ绰ֻйϵuserĶӦҪı䡣ȻҪһʾͼƼϵ绰ıҪнϵֱ洢ɱʱǽȰǴ洢һϳɵıиá
user֤ţԱݱţ֤ϵ绰
bookͼ,ͼƣͼߣ磬ڣע۸
1.1.1.2  Ԫ
ݿģζĽṹֽṹԪݡΪDBMSƷ洢ͲݱģԴƷԪԱʽ洢ʱϵͳЩϵͳ洢ݿбָÿһжУһؼ֣ÿһе͵Ҳ洢ؼ֡ݿṹ֡
ڱд洢ԪݲDBMSЧģûҲǷģΪǿʹѯûͬIJѯѯԪݡĵڶܵSQLԿͬʱԪݺûݡ
1.1.1.3  
͵ݸĽݿܺͿɷԣݾݣʱҲ͵ݽṹҪͿٷݡԱ˵ͼϢϵͳеbookΪ˵
ٶڴǰͼšĵ˳еģûӡһͼơͼݱΪˣеݶҪԴȡ򣬳DZСһܷʱĹ̡ߣڡͼơֶϴһĿաͼơĿԶ˳bookݡ
ڿٷݡ磬һûֻbookСͼֵΪ01ЩѧûԴ֮󣬿ҵĿʹѡкʵС
ͲаģҪۡbookеÿθıʱҲı䣬ζģӦҪʱ档
1.1.1.4  ӦԪ
洢ݿеĵӦԪݣ洢û塢ѯʽIJѯеDBMS֧Ӧ֧DBMSҲһȫĽṹΪӦԪݴ洢ݿСȻִDBMSƷ洢Ϊݿһ֡һ˵ݿ⿪ԱûֱӷӦԪݣ뷴ͨDBMSеĹЩݡ
MS SQL Server2000оִ֧塢洢̵ӦԪݡ
1.1.2  ݿϵͳ
ݿϵͳDBMSָݿϵͳйݵϵͳDBMSݿϵͳĺɲ֡ݿһв塢¼ֿ,ͨDBMSеġDBMSǻijģͣ԰DBMSijģڼϵͳϵľʵ֡ģ͵IJͬDBMSԷֳɲ͡״͡ϵ͡͵ȡMS SQL Server2000һֹϵݿϵͳ
ϵģ͡ϵģҪöάṹʵ弯ʾʵϵϵģɸϵģʽɵļϡϵģʽ൱ǰᵽļ¼ͣʵΪϵÿϵʵһŶά
ϵģͺͲΡ״ģ͵бùؼָ뵼ݣû׶ʱ漰洢ṹʼϸڡϵģѧģ͡SQLǹϵݿı׼ԣѵõ˹㷺Ӧá
ͼ1.1ʾDBMSص͹ܿԷΪϵͳƹϵͳϵͳDBMS档
ϵͳһݿ⼰ӦôĹ߼͵ذ塢ѯͱĹߡDBMSƷṩԺͶԱԵĽӿڡ
ϵͳϵͳӦдݿݽԼشѯʹӡȡ
DBMS󣬲ǷɶԲϵͳԱдϵݡDBMS滹漰ݺͻָ
1.1.3  ݿ
1.1.3.1  ݿģʽ
ݿģʽݿĽṹϵҵݿģʽһƣݿӦǽڴ˻ϵġ
һпӵеֵļϡΪÿһÿһȷ򡣳ݵʽ⣬ҪȷǷЩԱ˵Ψһġ
ݿģʽһҪҵǶҪӳݿݿӦóеҵԼҵģʽһҪ֣Ϊָʲôݱ仯DBMS棬ֵԼЧݱ仯Դûѯ/޸ӦóDBMSӦþܾ
źǣͬDBMSƷòͬķʵʩҵijЩ£DBMSƷ߱ʵʩҪҵԴʽDZӦó
1.1.3.2  
1.1.3.3  ϵ
1.1.4  Ӧ
ݿӦð塢ѯ˵Ӧó
1.2  ͼϵͳ
ʱǷٷչϢʱڸиҵ벻ϢǼ㷺ӦϢϵͳĻôܹϢʹüϢƣ˹ЧʣҴ䰲ȫԡ
ڸӵϢַܹԽԡϢϢϵͳĿأϵͳĿϵͳǰᡣϵͳΪ˹ͼϢƵġ
ͼΪһϢԴļɢأͼûϷ࣬ܶϢݵĹֽкܶͼݶdzʼʹãδʹüϢݵ֪ǰϢҪʽǻıֽʵֹͼ޶ʱͳƺͺʵöԽ鿨˹УԽߵĽȨޡԼ˹㡢ֳСϢ׳ݷ࣬׶ʧҲײҡܵ˵ȱϵͳ淶ϢֶΡеͼмδϢûзЧԴñȽͻǹϢϵͳĿĻ
ݴֹ󣬳ʸߣ׸ġͼݲȡֹʽͼ˹ϢȽ϶࣬ͼϢĹҶָӣһǼ¼ڽ֤ϣͼĿݼ¼ļУͼݵĹԱ͹ԱҲֻǵʱȽʱһҪвѯ͵ڶзġˣɲѯʱҪԺܳʱǰͼиľ͸ˡ
⣬ΪбҪһͼϵͳʹͼ淶ϵͳ򻯣ͼԣϢٶȺ׼ȷԣܹʱ׼ȷЧIJѯ޸ͼ
1.1 ϵͳ
1) ˽Ӧÿߵ״
2) DelPHi6.0̻
3) MS SQL Server
4) ݿ⣻ƽ
5) ݿ⡣ݿʵֵһЩ
l ݺ˵Ŀʾ
l IJѯ¼ļģѯ
l ļijִ洢ʽݴ壬Уݿ⣻
l ݿⰲȫԵƣ
l ݿơݽӿڡơ

1.3  
۲ֶݿӦϵͳĽṹ˼ҪܣͼϢϵͳƵص
ڶ½ݿƺͷʽϵͳSQLԣΪƺӦó̵档
¶ϵͳDelphi 6.0ݿ̼SQLDelphi 6.0еӦáMS SQL Server
·ͼϵͳӦϵͳݿṹϵͳܽ˻ֺϸ
¸ݵµƽMSSQL Server2000Delphi 6.0˾Ӧóơ
ܽᲿֽͱᣬָϵͳеIJ͸Ľķ 
 
ڶ   ݿۻ
һɹϢϵͳǽ֮ϵģݿһdzҪ͹ؼ
Ϣϵͳ漰ݿƷ裺ݿơ߼ơزԡ
1 ݿǽҵ֤Ϊ֮ı߽磬ƳDFDͼӦֵ䡣
2 ƵǴDFDƳʵ壭ϵͼгʵϵĸҪ
3 ߼ƵǴE-RͼӦĸҪȷʵ弰ϵıԡ
4 ƵȷԵ͡ȡֵΧƳеıֶӢĻںֶ֧ܶΣMS SQL ServerҾõֶʵ⣬ݿֵ䡣
5 زԹᴩڳԹọ̈̄¼롢޸ġѯΪݿļزԹ
ҪƳһõϢϵͳݿ⣬ϵͳҪĹ⣬ԭ
² ĸԽԽá
² ĸԽԽáDZӵĹߣԽ٣ӾԽ򵥡
² ֶεĸԽԽá
² лƾӦϵʽ
ݿУδԶĹϵŽϴѶȡҪص㿼ǵ⡣شSQLӦáݿƷʽͲѯŻȷϵͳؼʵѵ㲢Խ

2.1  ݿϵͳƼʽ
ϢϵͳҪͨݻùҪϢͱ洢͹ݡ˽һõ֯ṹݿ⣬ʹϵͳѸ١㡢׼ȷصú͹ݣǺϢϵͳûҪָ֮һ
2.1.1 ݿϵͳ
ݿҪǽݿ߼ƣݰһķࡢϵͳ߼֯ûġݿʱҪۺҵŵĴ浵ݺ󣬷֮ĹϵDBMSṩĹܺߣƳģʵȷӳݹϵ١ȡЧʸߡֲѯҪģ͡
ݿƵIJǣ
1 ݿṹ壺ĿǰݿϵͳDBMSе֧CLTPݽвɼ洢IJDBMSеĿ֧ݲֿ⡢CLAPָΪ֧־ߵƶݵһּӹܵĴDBMSеݿǹϵ͵ġеĿ֧ݿ⡣ѡDBMSݿṹ塣
2 ݱ壺ݱָݿݱĽṹݱ߼ṹơ͡ʾʽȱʡֵУǷؼ֡ɷΪյȡϵݿҪϵ淶ҪݿƣΪʹЧʸߣ淶̶ӦӦûݱƲҪݴ洢Ҫ󣬻ҪһЩ練ӳйϢΡмݵֶλʱݱ
3 洢豸ʹ洢ռ֯ȷݵĴŵص㡢洢·洢豸ȣݷԶ汾α֤һԺݵԡ
4 ʹȨãûIJͬʹҪȷݵûʹȨޣȷݰȫ
5 ֵƣֵݿƣά޸ġ
Ϊ˸õ֯ݺƳʵӦݿ⣬Ӧע⣺
淶ݽṹݽй淶ں潫ۡ
ϵݽṹĽڽݻṹĹ淶󣬻뽨ݵĹϵṹһɺݿݽṹƹɣֻϵͳʵʱݷֵݴ뵽ƵϵṹУһ淶ݿϵͳṹͽˡ 
ϵݽṹ漰ݣȷĹؼָȷһĸϵ¼ṹݿĹϵṹ 
1ӹϵȷ 
ڽݹ淶Ѿȷÿһݱ(ǼΪ)ǹ淶ģЩıطӳͨҪָͨϵָݲȫطӳ⡣Ҳ˵ЩĸУ洢ͬһﲻͬԡôϵͳ֪ЩеЩ¼ӦеЩ¼ӦDZʾͬһ?Ҫݽṹʱָ֮ݼ¼ϵȷֱ֮ݹϵһ㶼ͨ򸨹ؼ֮ʵֵġΪÿֻؼʲΨһرʶеһ¼ֵ(ΪݵʽҪ󣬱ֶκؼ)ԽͨؼӾܹΨһرʶijһﲻͬڲͬеĴλá 
2ȷһĸӹϵṹ 
νȷһĸϵϵṹҪĸֱԶࣨM:Nʾ󣬼跨ʹбм¼֮Ĺϵ״ṹ(ֻһɷ֧ɽ֧״)νġϵָһϵԶϵԽE-RͼķҲϵͳʱע⣬ķ 
M:Nİ취Ҳܼ򵥣ֻڶ֮һԭM:NĹϵ͸ijM:11:NĹϵˡ
ȷԴİȫԣ
һDBMSṩԼݰȫԵĹܡϵͳṩİȫܹһ8ȼ(0-7)4ֲͬʽ(ֻֻдɾ޸)û8ȼ4ַʽÿһɵؽж塣 
尲ȫԵķһ¼֣ 
aԭļΪ4ȼرߵİ칫(ն˻΢˺)ɶ4ļ𣬷֮Ϊ4ļ 
bͳļ()¼ļһֻԱվΪֻдʽվΪֻʽ 
cȱļһֻйվ(Ƶ)ΪдɸġɾʽվΪֻʽҲÿ˶ֻܶмͬ͸߼߲ܶ
2.1.2  ݿƷʽ 
һõָϵǽݽṹݿҪһһõָϵǽDBıҪdzȫΪָϵеһָǹϵݿеһָһָеһֶΡֱӰַʽȻѡָϵݵĽṹڽǰй淶֯ 
a.  ֯Ĺ淶ʽ 
ݵĹ淶Уһ㽫һ໥ݳΪһϵ(relation)ϵµÿָ򱻳ΪԪ(data element)ֹϵʵݿϾǻԪؾǻеһֶ(field)淶ﻹ涨ÿһб붨һԪΪؼ(key)ΨһرʶñصԪءڹ淶бǶάģĸʣ
l ڱеһϣӦͬһ(ͼÿһжŲͬͬ¼ͬһ) 
l жDzͬģظ(ͼÿһжһͬĺͬ¼)
l ڱУе˳޹ؽҪ(ͼÿдĶǺͬ¼ȷһͬûϵ) 
l ڱУе˳޹ؽҪظ(ͼкͬźͺͬ˭˭ûϵ߲ظͬ) 
ڶԱʽ˹淶ݽṹֹ淶壬Ϊ淶ģʽΪʽַʽУһֻǰ֣ڳϵͳ㹻ˡַʽǡϼݡģ巶ʽݽṹԶһķʽķʽݽṹԶһʽơ
һʽ(first normal form1st NF)ָͬһûظ֣ӦظȥȥظĹ̾ͳ֮Ϊ淶ڱ۵Ŀ1st NFʵûʲôġΪǰ淶ָϵͱĹ̶Զ֤б1st NF 
ڶʽ(second normal form 2nd NF)ָÿһ(ҽһ)ԪΪؼ(primary key)ԪؼһһӦ磬ͼl9.7ǽͬŶΪؼ(Ԫеļ¼ݶпʲΪؼ)ֻҪ֪һͬ¼ĺͬţͿΨһͬһҵúͬκһϢͨdzֹϵΪ(functional depEndence)ϵԪضؼ֣ƸԪΨһرؼʶ
ʽ(third normal form 3rd NF)ָеԪزҪܹΨһرؼʶ֮仹໥ĺϵҲ˵һ 2nd NFݽṹ˵пܴijЩԪǹؼԪص󣬱
Ϊֹݿָ쳣쳣ɾ쳣̫󣬹ϵݿҪϵ淶Ҫݿơ
2.2  SQLԽ
2.2.1  SQL
SQL(Structured Query Languageṹѯ)һǿݿԡSQLͨʹݿͨѶANSIұ׼ѧᣩƣSQLǹϵݿϵͳı׼ԡSQLͨһЩݿIJ񣬱ݿиݣߴݿмݡʹSQLijϵݿϵͳУOracle Sybase Microsoft SQL Server Access IngresȵȡȻݿϵͳʹSQLͬרչǵϵͳǣ׼SQL"Select" "Insert" "Update" "Delete" "Create" "Drop"ɾݿIJMS SQL Server õTransact- SQL
SQLŷdzͻŵ㣬Ҫǣ
n ǹ̻
n ͳһ
n йϵݿĹ
ǹ̻ԣSQLһǹ̻ԣΪһδһ¼ṩԶSQLûڸ߲ݽṹϹԵ¼вɲ¼SQL ܼΪ룬ؼΪSQLļһSQLĽΪһSQL롣
SQLҪûָݵĴŷ ʹû׼оҪõĽSQLʹòѯŻRDBMSһָ֣ݴȡٶȵֶΣѯŻ֪ʲôĶʹʣûӲҪ֪Ƿʲô͵
ͳһԣSQLûDBģͣϵͳԱݿԱ ӦóԱ֧ϵͳԱ͵նû
SQLΪṩа
n ѯ
n ڱв롢޸ĺɾ¼
n ޸ĺɾݶ
n ƶݺݶĴȡ
n ֤ݿһԺ
ǰݿϵͳΪṩԣSQL ȫͳһһС
йϵݿĹԣҪĹϵݿϵͳ֧SQLԣûɽʹSQLļܴһRDBMS(ϵݿϵͳ)תһSQLдijǿֲġ
2.2.2  SQL
SQLǿһ걸ݴԣݿѯݿе޸ĺ͸£Էֳ¼飺
DMLData Manipulation Languageݲԣڼ޸ݣ 
DDLData Definition Languageݶԣ ڶݵĽṹ ޸Ļɾݿ 
DCLData Control LanguageݿԣڶݿûȨޡ
DMLϸΪµļ䣺
SELECTڼݣ
INSERTݵݿ⣻
UPDATEڴݿ޸ִݣ
DELETEڴݿɾݡ
DDLڴûؽݿDDL
CREATE TABLEALTER TABLEDROP TABLECREATE INDEXDROP INDEX
һSQLӣ
ʹSQLBookм֤šΪ000001Ľ
SELECT   FROM  Book   WHERE ֤ = 000001
2.2.2.1 DDLDML
ݶDDL޸ݿṹһ䣬 CreateAlterDrop 䡣 
ݲDMLݲѯݸ¡ݲѯҪSelectɣһ㲻׸ݸɵķմ󳬹ݲѯݿϵͳڸڱ洢ݵһԣȷЧݽݿ⣬ݿ뱣һԣDBMSЭûIJи£ȷûǵĸIJӰûҵ
޸ݿݵ SQL Ҫ 
(1)  Insertһмµ 
(2)  Deleteһɾ 
(3)  UpdateݿѾڵ 
Insert׼﷨ 
INSERT INTO  table_name (col1, col2...)  VALUES(value1, value2...)
Ҫ֤Ϊ000001ΪһµĽOWNER
 Insert Into
 owner (֤ţͼţ) 
  values (000001000000012002-9-12)
Insert 仹ԽӵĿȥʽ Insert УеֵȷָģָһݿѯӵֵݿУijЩض״̬£Ƿdzõġ Insert ΪṩһֽնЧķͼϵͳûʹַϵͳʹѭ÷ɶ¼IJ롣 
UpdateڸµѡеһлеֵҪµĿж壬SetӾָҪЩвǵֵUpdateǰWhere䣬UpdateȽΣգȷʶWhereҪԣWhere䱻ָҪµС
׼﷨
UPDATE table_name
SET columnname1 = value1
[, columname2 = value2]...
WHERE search_condition
Delete ׼﷨
DELETE FROM  tablename   WHERE  condition
2.2.2.2 Ӳʵ
ϢϵͳУࡢܡӳ䡢ӲѯȸӲӦ֧ʵ£
u GROUP BY
GROUP BYӾ﷨Ϊ 
SELECT column1, SUM(column2)
FROM "list-of-tables"
GROUP BY "column-list"; 
GROUP BYӾ佫еһָеԼϼƺһ߶С
ڱ˵ϵͳʾʱõ˴ԲѯõȻʾ
u Ͳ
µSQLоͺ
SELECT column1, SUM(column2)
FROM "list-of-tables"
WHERE "condition1" AND "condition2"; 
һʾ
SELECT 
FROM ID,user
WHERE ID.ݱ=USER.ݱ and user.֤=000001; 
SQLǴuseridвҽ֤Ϊ000001ĽߵһΪ٣ôʲôûʾ
u UNIONӾ
ЩʱҪһѯĽǵǿʹUNIONؼ֡ 
 
  Ӧϵͳ
3.1  Delphi6.0VCLϵṹ
DelphiԴԵطֳ֣һ࣬ЩͨijַʽϣûϵȡһͼڳоԶ˸Ķ󣨷ǿ⣩һǹ࣬˹ĶͨڳУŲɴãЩҲġDelphiУÿһȶTobject,IJνṹһõҵΪTobjectࡣ̵Ļ˼룬ʹûTobjectʹκ͡ʵDelphiУTobjectΪ൱ڶ࣬γһӴϵͨ£пͲ˽ϵṹֻõҶ㹻ˡ
һСڼԽһDelphi 6.0VCLӻ⣩ϵṹ򿪷˶֪ûеӦóҲ˵ݿӦóû棨ͼν棬ҲӿڣԪϣֻֻݿⱾݿӦóDelphi 6.0ݿӦóŽ濪Delphi6еVCLͼ3-1˵

DelphiĿ۵Ľɫ֪ڱдʱһ㶼ʼѡ໥áҲһЩϣTformTapplication͵ķǿTcomponents࣬ʽDFMļУ¼Publishԡ
ǴڻĿӻ࣬DelphiռķݶʵʱУĶоԽ뽹Ͱ
ͼ봰Уһͼǻڴڵģдھܽ뽹Ͱͼ8-43пԿͼĻTgraphicControl,ʵʱУDZǵĶǵӵ߸ʾǻܴһЩص¼ͼοؼ͵TlabelTspeedButtonɴ˿ԿͼĹܺͼôأʵʹͼôڽʡԴΪǵĹܽʹõϵͳԴҪ١һӦóУڲӰ书ܵǰºʹͼٳϵͳԴġ
ǿಢеһǿڳDzɼģֶԻ֮⣬ʵΪԻܹǿӦһֽڿǿ֮
Ҫ˵һ£˵ĿؼʵһҲ˵ҪڿؼؼںϰСؼWindowsϵвϵͳʹãBorlandڶWindowsؼ˱Ҫչ֮ĸڲͬʱɲͬijĸ
3.2  ݿ

Delphi6ݿӦãصǺ͸ݿ򽻵ܺݿҹ5֣ǣSessionݿỰDatabaseݿ⣩DatasetݼDataSourceԴData controlݿҲdata-controlsݸ֪ǰ4ͳΪݷʣData AccessЩ໥ϵͼ3-2ʾ
ADO  Delphi6.0˿Microsoft˾ActiveX Data ObjectsADOʽݿADOMicrsoft˾ڸݵĸߵȽ棬ݱݷҪ취ADOĶģݷʽӿڶģ򵥵һ֡Microsoft˾ADOݵӦó漼OLE DBOLE DBһֵײ̽ӿڣ಻ͬ͵ԴаϢļϵͳԼһЩǴͳԴOLE DBһComponent Object ModelCOMӿɵļϣشݷʷеϸڡOLEDBṩ˷κԴķ໥ݿ໥ݿ⡢EmailļϵͳıͼԼûݶ
DelphiADOBDEʹADOṩ˿ͨݿݵ·ΨһҪʹADOʱADO/OLEDBADOʹʹDELPHIڷݵͺͲõļ涼˺ܴͻơ
ģƴ  ģƴƺάģġģƴа.DTIΪļչData DiagramļϢDTIļڱʱκá
3.3  SQLDelphiеӦ
DelphiʹSQLԷdz㣬һ˵ͨTqueryTADOqueryʹSQLԵġTqueryTADOquerySQLSQL䡣ƳʱڸԶԻѡSQLԣʡԺŵİťͿԴString List EditorԻȻǾͿڶԻSQL䡣ʹDelphiSQL BuilderԶSQL䣬ԱֹдSQLɵ﷨
̬SQLڳʱѹ̶κβͱ
̬SQL䣬Ҳ䣬мűʾֶIJһ̬SQL䣺 
Select  *  From  Book  Where ͼ =:bookCode;
еıbookCodeһһðڳйУҪΪòֵSQLȷִУÿӦóʱΪò費ֵͬΪֵַ
ٸݲSQLгֵ˳TADOQueryparametersֵΪֵ
ֱӸSQLи֣ParamByNameΪֵ
۽TADOQueryDataSourceΪһԴһԴ뵱ǰTADOQuerySQLеIJƥֵֶӦIJַҲʵνӲѯҪϸݿӦá
ʹö̬SQLʱõһҪķPreparePrepare ֮DelphiὫSQL䴫͸Ӧݿ棬Զ̬SQL﷨ŻȻö̬SQLʱPrepareDZģǵPrepare󣬻Ἣ߶̬SQL ִܣرǵҪִͬһ̬SQLʱԽԻԡ ӦóִһSQL֮ǰûʽصPrepareÿִSQL ʱDelphiصPrepare׼ѯ
TadoQueryһPrepareԣһԣֵΪTrueʱ òѯѱ׼( SQL ѱ͵ݿ )  ʹò༭Parameters EditorΪ̬SQLеIJֵʱӦIJֵ˳༭ʱDelphiصPrepare׼òѯ
SQLִ֮Ҫ׼һѯȱCloseȻܵPrepare׼һѯһ˵һӦóӦõһPrepareڴOnCreate¼еPrepare ȻܵķΪֵOpenExecSQLִSQL䣬ɲѯ
ȻڵPrepare׼һѯʱһЩݿԴ ÿһѯִ֮ҪɵUnPrepareԳѯĺϰߡгУͨıTQueryTADOquerySQLֵʱDelphiԶصCloseUnPrepare Գѯ
ڳйУҪTqueryTADOquerySQLԣȵCloseرTQueryTADOqueryȻٵClearSQLִSQL䣬 ٵAddΪSQLµSQL䡣磺
datamodule4.adoquery2.close;
    datamodule4.adoquery2.sql.clear;
    datamodule4.adoquery2.sql.add('SELECT ֤, FROM [user] WHERE (֤ = :tt)');
    datamodule4.adoquery2.parameters[0].value:=username;
    datamodule4.adoquery2.open;
ΪTQueryTADOquerySQLʱCloseǺܰȫģTQueryTADOqueryѾرˣCloseʱκӰ졣ӦóΪSQLµSQL ʱҪClearSQLִSQL䣬ClearAddSQLSQL䣬ôõSQL׷ִSQL棬 ڳʱֳϵIJѯ޷ȥ
ҪرעģһTQueryTADOquerySQLֻܰһSQL䣬óɶSQL䡣ȻЩݿҲ֧TQueryTADOquerySQLöSQL䣬ֻҪݿڱʱΪ SQL öSQL䡣
ΪTQueryTADOquerySQLԵֵ֮ҲдʵSQL֮󣬿жַʽִSQL
ƹУTQueryTADOquerySQL֮ActiveԵֵΪTrue ִSQLеSQLӦTQueryTADOquery( TDDGrid TDBEdit)ôЩлʾSQLִн
ӦóйУͨTQueryTADOqueryOpenExecSQL ִSQLеSQLOpenExecSQLDzһġOpenִֻSQLԵIJѯ(Select) һѯExecSQLִõSQL(INSERT, UPDATE, DELETE)磺
Query1.Open (᷵һѯ)
OpenûвѯʱʱӦõExecSQL Open磺
Query1.ExecSQL (ûзؽ)
ȻӦóʱԱ޷ȷTQueryTADOqueryеSQL Ƿ᷵һѯġӦTryExceptģƳ Try ֵOpenExceptֵExceSQLܱ֤ȷС

Try
Query1.Open
Except
Query1.ExecSQL
End
ͨTqueryTADOqueryԻ͵ݣ
u 
ݾ͸ͨTTableõһûͨ༭޸ЩݣҵPost򵱽뿪ǰʱûݵ޸ԶرдصݿС
u ǻ(ֻ)
ûͨDz޸еݡȱʡ£ͨTQueryõIJѯֻݣҪáݣӦóбҪTqueryTADOqueryRequestLiveֵΪTrueȻκ(ͨRequestLiveֵTrue)ԻáݵģҪáݣ˽TQueryRequestLiveΪTrue⣬ӦSQLҪ
SQLѯ£ҪõɸµݼSQLΪ
n ѯֻ漰һı
n SQLвܰORDER BY
n SQLвܺۼSUMAVG
n Selectֶбвмֶ
n SelectWHEREֵֶֻܰ볣ıȽ㣬ЩȽǣLike, >, <, >=, <=Ƚ֮вͽ㣺ANDOR
ͨSQLѯݿеݿ
n ѯֻ漰һı
n SQLвܰORDER BY
n SQLвܺۼSUMAVG
⣬DzѯSybaseݿеıôѯıֻһ
ӦóҪTQueryTADOqueryһIJѯݼSQL 䲻ԼʱڱݿSQLѯBDEֻֻܷݼݿеSQLѯֻܷشĴ롣TqueryTADOqueryһIJѯݼʱCanModIfyԵֵᱻóTrue
3.4  MS SQL Server
SQL Server һ̨ݿϵͳ,ǿ,ΪݿûϲԽԽĿṩSQL ServerĽӿڡSQL Server һϵݿϵͳMicrosoftSybase Ashton-Tateҹ˾ͬġ1988 Ƴ˵һOS/2 汾Windows NT ƳMicrosoftSybase SQL Server ĿϾͷֵˣMicrosoft SQL Server ֲWindows NTϵͳϣרעڿƹSQL Server Windows NT 汾
SQL Server 2000 Microsoft ˾ƳSQL Server ݿϵͳ°汾ð汾̳SQL Server 7.0 汾ŵ㣬ͬʱֱȽĹܡʹ÷㡢Ժɳ̶ȸߵŵ㡣ɿԽMicrosoft Windows 98 ϥ͵ԵMicrosoft Windows 2000 ĴͶദķȶƽ̨ʹáMSSQL ServerӦڴݿУֲʽϵݿ⣬ҲԿݿ⡣ʵϣSQL Serverݿ⴦ĻṹȡϵݿģʽˣŴҶ׵ķ֣SQL Serverݿ⴦ʽʹIJʽ뾫Ҳ˵SQL ServerйܣԻϵͳѾõһЩɣ൱OO󣩵һϵͳṹ
SQL Server ҵ SQL Server Ҫߣṩһ MMC ׼û棬ʹûԣ 
  SQL Server ʵ顣
 עᵽС
 Ϊÿעķ SQL Server ѡ
 ÿעķд SQL Server ݿ⡢󡢵¼ûȨޡ
 ÿעķ϶岢ִ SQL Server 
 ͨѵ SQL ѯƲ SQL 䡢ͽű
 ѵΪ SQL Server ĸ򵼡
 
  
 ͼϵͳƷ

4.1  Ӧ
ͼϵͳҪֱͼߡͼݹԱͼݹԱͼߵDzѯͼͼ顢˽Ϣ޸ģͼݹԱͼߵĽļҪвͬʱγɽ鱨߲鿴ȷϣͼݹԱĹΪӣԹԱͼߡͼйάϵͳ״̬IJ鿴άɴ߻ͼ鱨
ͼ߿ֱӲ鿴ͼͼͼ߸ݱ˽֤ź¼ϵͳԽб˽IJѯάָϢһ£ͼֻӦòѯά˵Ľ͸ϢѯάߵĽ͸ϢҪ֪ͼߵĽ֤ź롣ЩǺѵõģر룬ԲͼߵҪ󣬻ͼߵĸ˽
ͼݹԱ޸ͼ߽ͻ¼ȨޣԹԱ½ģиĿǡڴģУͼݹԱΪͼ߼¼ǻ¼ӡӦıû鿴ȷϡ
ͼݹԱܵϢݰȫԺͱҪߡʵֶͼϢϢϢĹͳơԱ͹ԱϢ鿴άͼݹԱѯӡɾ޸ġͳͼĻϢѯͳơӡɾ޸ͼߵĻϢѯͳͼݵĽϢӡɾ޸ĽϢⲿֹӦͼݹԱִУǣɾijͼ߻Ϣ¼ʱӦʵֶԸͼ߽ļ¼ļɾһӦɴ߻ͼ鱨ӡĹܡ
ڱϵͳûдӡ豸飬ԤȰѱӡijɱԤ
ƲͬûIJȨ޺͵½
ûŵͼѯ
ά߸˲Ϣ
߲鿴˽Ϣ
ά߸
ݽݿвɱ
ݻݿвɱ
ѯͳƸϢ
άͼϢ
άԱ͹ԱϢ
άϢ
Ϣ
ԽĹڵͼɱ
ͼ4-2  ͼϵͳݿӦܽ

ԵһЩϸڣ粻ûĵ¼Լ¼άóµͼ 
4.2 ϵͳģ黮
ϵͳܿͼͼ4-10ʾ

4.3  ϵͳݿ
4.3.1  
ڸƽ׶УԱûĽǶȿݼҪԼһӳû۵ĸģʽȻٰѸģʽת߼ģʽƴƹжʹ׶εԵһƸӳ̶ȴ󽵵ͣضDBMSơ
ERݿĸƣɷֳУƾֲERģʽȻѸֲERģʽۺϳһȫģʽȫERģʽŻõյģʽģʽ
1 ƾֲERģʽ
ʵԵĶ壺
ͼ飨ͼţͼƣߣ磬ڣע۸
ߣ֤ţԱ֤ϵ绰룩
ݣݱţ
ͼͼţ

ERģ͵ġϵڿ̻ʵ֮ĹһķʽǶԾֲṹʵͣĽֲṹʵ֮Ƿϵϵһȷ1:NM:N1:1ȡҪһʵڲǷϵʵ֮Ƿϵʵ֮Ƿϵȵȡϵͼ4-5ʾ£
u һߣûֻܾһݣһݿɱУ
u һͼֻһͼ𣩣һͼ԰౾ͼ飻
u һûԽĶ౾ͬ飬һҲԱͬûġ
2ȫERģʽ
оֲERģʽƺ˺󣬽ǰۺϳɵһȫָṹȫָṹҪ֧оֲERģʽұرʾһһµݿṹ
1)ȷʵ
Ϊ˸ֲERģʽĺϲṩʼϲĻҪȷֲṹеĹʵ͡һǽʵͼ϶ʵ͡һͬʵΪʵ͵һѡѾͬʵΪʵ͵һѡ
2)ֲERģʽĺϲ
ϲԭǣȽϲȺͺϲЩʵϵľֲṹϲӹʵͿʼټľֲṹ
3)ͻ
ͻΪࣺԳͻṹͻͻ
ȫERģʽĿIJڰɾֲERģʽʽϺϲΪһERģʽͻʹ֮Ϊܹûͬͽܵͬһĸģ͡
3)ȫERģʽŻ
ڵõȫERģʽΪݿϵͳЧʣӦһݴERģʽŻһõȫERģʽ׼ȷȫطӳû⣬Ӧʵ͵ĸҪܵ٣ʵԸ٣ʵͼϵࡣ
ͼϵͳȫERģʽͼ4-13ʾ 

4.3.2  ϵݿ߼
ڸƵĽERͼDBMSһùϵͣʹõMS SQL Serverǹϵ͵DBMSݿ߼ƹ̾ǰERͼתΪϵģʽĹ̡ڹϵģеŵ㣬߼ƿԳùϵݿ淶ۣʹƹʽؽСƽһϵģʽĶ塣
1 ʼϵģʽ
bookͼţͼƣͼ𣣣ߣ磬ڣע۸classͼ#user֤ţԱݱţ֤ϵ绰룩IDݱ#Owner֤#,ͼ#ڣ
ͼ4-14  ϵģʽ
2 ģʽ
ģʽûõDzݵָûõ⣬ӦָģʽӦݵϵָģʽģʽ֮ĶӦԡ
ģʽ֤#ͼţͼƣڣ
ͼ4-15  ģʽ
3 гֵⱾдϵͳʱϵģʽ
1 ownertempڹԱڴ顢鹤ʱʱ洢顢ϢԱӡʱʹá
2 keyerڴ洢ԱͼݹԱû뼰ȨޣԱ㹤ԱͼݹԱӦĹģʱ֤ûݡ
4.3.3  ݿʵ
ѡMicrosoft SQL Server2000(ҵ)ݿݿ߼ơȴ߸ݿ4-14-7ʾȻȫERͼ֮ϵͼ4-8ʾ
4-1  ߻ϢĽṹ(User)
 


4-2 ͼϢĽṹBook
 
4-3 ͼϢĽṹClass
 
4-4 ϢĽṹID
 
4-5 ϢĽṹOwner
 
4-6 ʱ洢ϢĽṹOwnertemp
 
עownerownertempмֶΣΨһʶһ¼ΪʶʶΪ1
4-7 Ա͹ԱϢĽṹKeyer
 

ͼ4-8  ݿϵͼ
  
 
   ͼϵͳӦó
5.1  ϵͳģ

5.2  ģ鴰
ڱдݿӦóʱҪöͬʱͬԴΪÿһߴ嶼һԴʮֺʱĹҪ֤ЩԴȷͬҲ軨һôܲܽЩԴйһͳһģ飬ҪʱͽģֱӲԴأģ飨DataModuleǽõĴ𰸡˵ģйԴһ壬ôɱҪĵطʱ롣
ڿϵͳʱʼʹһģ飬ʹùȴһЩ⡣ҿϵͳʹõTADOQueryؼȽ϶࣬ʹݿؼܻϵ鷳Ūݿؼáǵʹö̬ADOQueryܻʡԴڱ˵ϵͳУʼĵһģ顰߸ģ顱л΢ʹһģ顣ںģд඼ö̬ADOQueryʵֵġSQLǶ̬datamoduleеĿؼҲࡣ
 
5.3  ʵ
Ϊ˸ûһõӡ񣬼׺ûʵʵĹܣForm1мImageTimeĴԣҪԴ£

 

5.4  û¼ĵʵ
ΪֲͬûһûԱԱṩѡԽ벻ͬģ飬㲻ͬûԴȽϼ򵥣ԡ
 
5.5  û֤ĵʵ
ΪùԱͼݹԱûе¼ҸûKeyerеġȨޡֶΣԷֱͼݹԱģ黹ǽ빤Աģ顣桢Դ
 
5.6  ߷ģʵ
߷ĹҪͼIJѯ˽鿴˲Ϣ޸ġͼ£
 
5.6.1ͼѯܵʵ
ڱϵͳУκ˶Ȩʹòѯܣκơ£
 
 
ʵֵIJѯж֣簴ͼšͼƵֶνȫҺͲģңа߼߼Ķҡʵֵķ߲ֻ࣬ҵĴ룬£

5.6.2ߵ¼ܵʵ
ܵʵ빤Ա͹Ա¼ʵֵķһһҪ򵥡ǴUserв鵽֤룬ûǷһ¡һ£ôûͿɲ鿴ѵĽάԼIJϢԴߵ¼涼ԡ
5.6.3߽ܵʵ
ȷ¼ϵͳ󣬴˹ܽʹûܲ鿴ĽڴϵͳУϢʾһListViewʵֻ֣ڽٵõDBgridΪҾListViewʵ֣ʹϢݶûȫ롣
 
 
ݽߵIJͬҪʵֽIJѯмеĽ鲿ijĽ͸ѽѯи駽ѯдԣзʽһͷʽ¸˹ܵԴ
ѯʽһ

ѯʽ


5.6.4߸άܵʵ
 
˹ʵֵǰ߲ϵ޸ģ֤źϢ޸ģͼݹԱģĹܡڴ˽е޸İť֡޸ġ壨Form8޸밴ťgroupbox8޸ġؼԴ¡
 
 
˲Ϣ޸ĵԴ룺

޸ĵԴ룺

5.7Աͼ/黹ģʵ
 

5.7.1ԱͼĹʵ
 
УԱߵĽ֤źҪĵͼͼţȻİťͿɽͼġǵʵпֻܻ֪ͼ֪ͼŵڴ˽·һתܣ԰ͼתͼţٽͼġ

ڽɺıԱ߼ȷϣıĴӡЧͼʵֱȽϼ򵥣ȥʵֹ̡
 
5.7.2Աͼ黹ʵ
 
ڴ˹УԱݽߵĽ֤ź͹黹ͼŽͼĹ黹Ҹʵпֵֻܻ֪ͼ֪ͼŵĹ黹Լ˰鼮ƽй黹ĹܡͼĹаͼתͼŵһָĽͲĹһҪתٽˡ黹ɺͬӡ黹Աûȷϡ

5.8ͼݹԱģʵ

 
5.8.1ͼݹԱͼܵʵ
 

 
пڣͼţͼţҰťͻڸӦʾϢͼģҵҪļ¼ڸӦʾһ¼ϢҲ¶˵ListViewеijһ¼ڸӦҲʾѡ¼Ϣ⹦ֻҪͬͼŲҴʾֶβΪվͿɲµͼ¼ɾɾЩBookеͼ¼ûҪɾownerеļ¼Ϊͼ޸ͼĹ빤Ա¼޸ĺ͹Ա¼ӵʵֹһɾܵԴ룬

5.8.2ͼݹԱԱ͹Աܵʵ
ڴ˹пԼ빤ԱǹԱ޸ǵ롢Ȩޡ

 
ڴ˹ѡListViewеļ¼ұӦʾϢҹԱɶЩ¼޸Ļµļ¼ҲԵɾťɾѡеһ¼ɾͼ¼ɾһ㣬ֻ޸ĵʵֹ̡

5.8.3ͼݹԱ޸ͼͳǹܵʵ
 
ڴ˴ܶͼɾӺ޸ģģĹܵʵֹͼ¼ɾӺ޸һģ廹ܸͼͳƣɸBookownerͳƳͼĿͼĿͼĿĹڵͼĿͳͼĿͼĿͼĿĹڵͼĿʵֹеļ͹

5.8.4ͼݹԱ߹ܵʵ
 
ѯ߿ɸݽߵĽ֤ŻݱŲҵߵϢҲʵģңܵʵǰͼҵʵֹһ㣬Ͳϸ˵

5.8.5ͼά߹ܵʵ
 
˹ܶԽϢв鿴ӡɾ޸ġˢ°ťʵֹ

5.8.6ͼάܵʵ
һǶԽݽйܶݽӡɾ޸ġͬlistviewѡij¼ʱӦұߵʾϢ˹ʵֹǰͬԡ
 
5.8.7ͼݽͳƹܵʵ
 
˹ܰݽͳƣóijݵĽݵIJͼĽĵͼʵֹ̡

5.8.8ͼͳƽĹڼ¼ܵʵ
ӡĽĹڴ߻ͼʾ
 
˱ʾ֤еĽϢ޶ʱ޵ϢҪSQL£

5.9ϵͳϢʾʵ
 
ԹϵͳϢұߵϹʾҪʵ£