鞍山北方書店銷售管理系統(tǒng)_第1頁
鞍山北方書店銷售管理系統(tǒng)_第2頁
鞍山北方書店銷售管理系統(tǒng)_第3頁
鞍山北方書店銷售管理系統(tǒng)_第4頁
鞍山北方書店銷售管理系統(tǒng)_第5頁
已閱讀5頁,還剩43頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

遼寧科技大學(xué)畢業(yè)設(shè)計(jì)(論文)第圖4.4進(jìn)書管理結(jié)構(gòu)圖4.2.4存書管理模塊結(jié)構(gòu)圖存書管理模塊:對圖書進(jìn)行統(tǒng)一管理,并可按條件查詢圖書,方便用戶使用。3存書管理3.1存書信3存書管理3.1存書信息查詢3.2存書信息添加3.3存書信息刪除3.4存書信息修改圖4.5存書管理結(jié)構(gòu)圖第5章數(shù)據(jù)庫設(shè)計(jì)5.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)系統(tǒng)總體結(jié)構(gòu)功能模塊設(shè)計(jì)后,就要對數(shù)據(jù)庫進(jìn)行設(shè)計(jì)了。支持管理信息系統(tǒng)的數(shù)據(jù)庫系統(tǒng)由模式、子模式、應(yīng)用程序、數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)等幾部分組成,其中除數(shù)據(jù)庫管理系統(tǒng)可以從現(xiàn)有產(chǎn)品中選購?fù)猓饽J?、子模式、?yīng)用程序、數(shù)據(jù)庫等則必須根據(jù)用戶的具體要求進(jìn)行分析和設(shè)計(jì),這項(xiàng)工作稱為數(shù)據(jù)庫設(shè)計(jì),它的核心問題是如何從系統(tǒng)的觀點(diǎn)出發(fā)建立一個數(shù)據(jù)模式,使其滿足以下幾個條件:1、符合用戶的要求,即能正確地反映用戶的工作環(huán)境,該環(huán)境包括擁護(hù)需處理的所有“數(shù)據(jù)”,并支持用戶需進(jìn)行的所有“加工”。2、與所選用的數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模式相匹配。3、數(shù)據(jù)組織合理,應(yīng)易于操作,易于維護(hù),易于理解。為管理信息系統(tǒng)設(shè)計(jì)一個數(shù)據(jù)庫系統(tǒng)通常包括如下幾個步驟:1、用戶需求分析;2、基本數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計(jì);3、中間數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計(jì);4、與應(yīng)用程序的接口。用戶實(shí)體E-R圖如圖5.1所示。用戶用戶密碼帳號密碼帳號圖5.1圖書實(shí)體E-R圖圖書實(shí)體E-R圖如圖5.2所示。圖書圖書作者圖書編號名稱作者圖書編號名稱圖5.2圖書實(shí)體E-R圖人員類別實(shí)體E-R圖如圖5.3所示。人員類別人員類別名稱編號名稱編號圖5.3人員類別實(shí)體E-R圖實(shí)體之間關(guān)系E-R圖如圖5.4所示。查詢查詢1n圖書銷售用戶1n圖書銷售用戶11統(tǒng)計(jì)屬于統(tǒng)計(jì)屬于11人員類別人員類別圖5.4實(shí)體之間關(guān)系的E-R圖5.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)現(xiàn)在需要將上面的數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為Access數(shù)據(jù)庫系統(tǒng)所支持的實(shí)體數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。盛大公司業(yè)務(wù)管理系統(tǒng)主要包括供應(yīng)商信息表、顧客信息表、商品信息表、進(jìn)貨信息表和銷售信息表,具體結(jié)構(gòu)見表5.1——表5.3表示表5.1人員類別信息表字段名稱數(shù)據(jù)類型是否為空長度備注id自動編號否-人員類別編號name文本否50人員類別名稱表5.2用戶信息表格字段名稱數(shù)據(jù)類型是否為空長度備注user_id自動編號否-用戶編號user_pwd文本否50用戶密碼user_leibie文本否50用戶類別表5.3圖書信息表字段名稱數(shù)據(jù)類型是否為空長度備注shu_id自動編號否-圖書編號shu_name文本否50圖書名稱Shu_zuozhe文本否50圖書作者Shu_sale文本否50銷售數(shù)量Shu_cun文本否50存儲數(shù)量5.3數(shù)據(jù)庫結(jié)構(gòu)的實(shí)現(xiàn)一、建立數(shù)據(jù)庫因?yàn)樵赩isual

Basic

6.0中有的數(shù)據(jù)庫連接方式不支持Access

2000版本格式的數(shù)據(jù)庫,為了便于說明問題,本文所提的數(shù)據(jù)庫以Access

97版本數(shù)據(jù)庫為例。在Microsoft

Access

97中建立一個數(shù)據(jù)庫,如:ssgl.mdb,并設(shè)置密碼,如:“1234”,再將數(shù)據(jù)庫文件和VB中創(chuàng)建的工程文件放在同一目錄下。如果用戶的計(jì)算機(jī)上只有Access

2000的話,可以先在Access

2000中建立ssgl.mdb數(shù)據(jù)庫,并設(shè)置密碼,再用Access

2000中的“數(shù)據(jù)庫實(shí)用工具”將數(shù)據(jù)庫轉(zhuǎn)換成Access

97版本的格式。當(dāng)然也可以直接在Visual

Basic

6.0集成開發(fā)環(huán)境中通過“可視化數(shù)據(jù)管理器”來創(chuàng)建數(shù)據(jù)庫,再到Access

97中設(shè)置密碼。通過對數(shù)據(jù)庫文件設(shè)置密碼,一般情況下,非法用戶就不能用常規(guī)的手段打開數(shù)據(jù)庫了,對數(shù)據(jù)庫中的信息起到了一定的安全和保密作用。

二、連接加密的Access數(shù)據(jù)庫在Visual

Basic

6.0中,要建立與數(shù)據(jù)庫的連接,可采用的技術(shù)手段很多,如:數(shù)據(jù)控件、數(shù)據(jù)對象、數(shù)據(jù)環(huán)境設(shè)計(jì)器等。開發(fā)人員可以根據(jù)自身的條件和用戶的需求進(jìn)行選擇。限于篇幅,下面只介紹加密的Access數(shù)據(jù)庫與沒有加密的Access數(shù)據(jù)庫在連接時的不同之處。關(guān)于沒有加密的數(shù)據(jù)庫的連接及訪問的方法讀者可以參閱其它資料。使用控件1)Data控件Data控件是Visual

Basic

6.0中的一個內(nèi)置數(shù)據(jù)控件,可以通過設(shè)置Data控件的connect、DatabaseName、RecordSource屬性實(shí)現(xiàn)對數(shù)據(jù)庫的連接和訪問。

通過Data控件連接加密的數(shù)據(jù)庫的方法有兩種:一種方法是在設(shè)計(jì)狀態(tài)時,在“屬性窗口”中將Data控件的connect屬性的缺省值”Access”改為”;

pwd=1234”另一種方法是在運(yùn)行時,通過代碼對connect屬性賦值來實(shí)現(xiàn)。如:Data1.connect=”;

pwd=12Data1.DatabaseName=APP.path

+

“\ssgl.mdb”

其中,”1234”為Access數(shù)據(jù)庫文件ssgl.mdb的密碼,下同。Adodc控件Adodc控件是一個ActiveX控件,它使用Microsoft

ActiveX

Data

Objects(ADO)創(chuàng)建到數(shù)據(jù)庫的連接。使用Adodc控件之前,要先將Adodc控件添加到控件工具箱中。方法如下:在VB

6.0種選擇“工程”菜單,再點(diǎn)擊“部件”菜單項(xiàng),在彈出的“部件”對話框中選中“Microsoft

ADO

Data

Control

6.0(OLEDB)”選項(xiàng)即可。通過Adodc控件連接加密的數(shù)據(jù)庫的方法也有兩種:一種方法是在設(shè)計(jì)狀態(tài)時,在“屬性窗口”中,對Adodc控件的ConnectionString屬性設(shè)置一個有效的連接字符串,并在連接字符串后增加上”;

Jet

OLEDB:

DataBase

password=1234”另一種方法是在運(yùn)行時,通過代碼動態(tài)地設(shè)置ConnectionString、CommandType和RecordSource屬性來創(chuàng)建連接。

只要在ConnectionString屬性的有效連接字符串后增加上”;

Jet

OLEDB:

DataBase

password=1234”使用數(shù)據(jù)對象1)DAO數(shù)據(jù)對象要能正確引用DAO數(shù)據(jù)對象來建立與數(shù)據(jù)庫的連接,應(yīng)先在VB集成開發(fā)環(huán)境中選擇“工程”菜單,再點(diǎn)擊“引用”菜單項(xiàng),在彈出的“引用”對話框選擇“Microsoft

DAO

3.51

Object

Library”選項(xiàng)來添加DAO數(shù)據(jù)對象類型庫。接下來就可用如下代碼來建立到加密的Access數(shù)據(jù)庫ssgl.mdb的連接。Dim

db

AS

DataBaseSet

db=OpenDataBase(App.path

+

“\ssgl.mdb”

,

False

,

False

,

pwd=1234”)2)ADO數(shù)據(jù)對象ADO是Microsoft推出的處理關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫中信息的最新技術(shù),也是Microsoft推崇的用于數(shù)據(jù)連接和訪問的技術(shù)。在VB

6.0中,Adodc控件、ADO數(shù)據(jù)對象及DataEnvironment(數(shù)據(jù)環(huán)境設(shè)計(jì)器)都采用的是ADO技術(shù),因而它們處理加密的Access數(shù)據(jù)庫的方法類似。要能正確引用ADO數(shù)據(jù)對象,應(yīng)在VB

6.0集成開發(fā)環(huán)境中選擇“工程”菜單,再點(diǎn)擊“引用”菜單項(xiàng),在彈出的“引用”對話框中選中“Microsoft

ActiveX

Data

Objects

2.1

Library”選項(xiàng)來添加ADO數(shù)據(jù)對象類型庫。可用如下代碼來建立到加密的Access數(shù)據(jù)庫ssgl.mdb的連接。Dim

cnn

AS

ADODB.ConnectionDim

rst

AS

ADODB.RecordsetSet

cnn=New

ADODB.ConnectionCnn.Provider=

”Microsoft.Jet.OLEDB.3.51Cnn.ConnectionString=

”Data

Source=”

&

App.path

&

”\ssgl.mdb;”

&

_”

Jet

OLEDB:

Database

password=1234”cnn.Open使用DataEnvironment(數(shù)據(jù)環(huán)境設(shè)計(jì)器)有兩種方法可以通過DataEnvironment連接到加密的Access數(shù)據(jù)庫:一種方法是在設(shè)計(jì)狀態(tài)時,在DataEnvironment的connection對象的ConnectionSource屬性的有效連接字符串后加上”

Jet

OLEDB:

Database

password=1234”另一種方法是在DataEnvironment_Initialize()事件中編寫如下代碼:Private

sub

DataEnvironment_Initialize(

)Dim

strconn

AS

string、Strconn=”

Provider=Microsoft.Jet.OLEDB.3.51;”

&

_”Data

Source=”

&

App.path

&

“\ssgl.mdb;”

&

_”;

Jet

OLEDB:

Database

password=1234DataEnvironment1.connection1.connectionstring=strconnEnd

sub第6章詳細(xì)設(shè)計(jì)6.1系統(tǒng)主窗體設(shè)計(jì)用戶可以通過主窗體界面實(shí)現(xiàn)對業(yè)務(wù)信息的管理,當(dāng)選擇不同的菜單命令時,就會調(diào)出相應(yīng)的管理界面,實(shí)現(xiàn)相應(yīng)的功能。在主菜單中,用戶可以選擇存書管理,購書管理,購書單審核,售書管理和密碼管理。6.2創(chuàng)建公用模塊1、由于系統(tǒng)中各個功能模塊都將頻繁使用數(shù)據(jù)庫中的各種數(shù)據(jù),因此需要一個公共的數(shù)據(jù)操作函數(shù),用以連接數(shù)據(jù)庫,執(zhí)行各種SQL語句。2、在錄入有關(guān)信息時,需要回車來進(jìn)入下一個文本框,這樣對軟件使用者非常方便,在所有的功能模塊都需要這個函數(shù),所以將它放在公用模塊中。3、添加全局變量,用來記錄各個窗體的讀寫狀態(tài)。4、由于系統(tǒng)啟動后,需要對用戶進(jìn)行判斷。如果登錄者是授權(quán)用戶,將進(jìn)入系統(tǒng),否則將停止程序的執(zhí)行。這個判斷需要在系統(tǒng)運(yùn)行的最初進(jìn)行,因此將代碼放在公用模塊中。6.3系統(tǒng)用戶管理模塊的創(chuàng)建系統(tǒng)用戶管理模塊主要實(shí)現(xiàn):用戶登錄添加用戶修改用戶密碼在用戶管理模塊中,用戶可進(jìn)行密碼修改操作,用戶輸入完密碼后需要再次輸入一遍密碼,以確定輸入的密碼是否相同,當(dāng)兩次輸入密碼一致時,系統(tǒng)將把該條記錄修改到數(shù)據(jù)庫中。圖6.1修改密碼窗體界面6.4存書信息管理模塊的創(chuàng)建存書信息管理模塊主要實(shí)現(xiàn)如下功能:●添加存書信息●修改存書信息●刪除存書信息●查詢存書信息圖6.2存書管理界面6.4.1添加存書信息窗體的創(chuàng)建1、添加存書信息窗體的功能描述添加存書信息窗體主要完成圖書信息,包括圖書編號、圖書名稱、進(jìn)貨日期、進(jìn)書數(shù)量、存貨數(shù)量等信息的添加功能。2、添加存書信息窗體的界面選擇“存書管理-操作-添加”菜單,就可進(jìn)入到添加圖書信息模塊。圖6.3存書信息窗體界面3、添加存書信息窗體界面的說明用戶輸入完圖書內(nèi)容后,單擊“確定”按鈕,程序首先檢查輸入內(nèi)容是否符合要求,然后檢查是否有重復(fù)記錄,最后添加到數(shù)據(jù)庫中。6.4.2修改存書信息1、修改存書信息窗體的功能描述修改存書信息窗體主要完成商品信息,包括圖書編號、圖書名稱、進(jìn)貨日期、進(jìn)書數(shù)量、存貨數(shù)量等信息的修改功能。2、修改存書信息窗體的界面圖6.4存書信息修改窗體界面選擇“存書管理-操作-修改”菜單,就可進(jìn)入到修改圖書信息模塊。窗體中放置了一個表格控件,所有存書記錄都顯示在里面。選擇需要修改的記錄進(jìn)行修改即可。3、修改存書信息窗體界面的說明用戶修改完存書內(nèi)容后,單擊“確定”按鈕,程序首先檢查輸入內(nèi)容是否符合要求,然后檢查是否有重復(fù)記錄,最后保存到數(shù)據(jù)庫中。6.4.3刪除存書信息1、刪除存書信息窗體的功能描述刪除存書信息窗體主要完成商品信息,包括圖書編號、圖書名稱、進(jìn)貨日期、進(jìn)書數(shù)量、存貨數(shù)量等信息的刪除功能。2、刪除商品信息窗體的界面圖6.5存書信息刪除窗體界面選擇“存書管理-操作-刪除”菜單,就可進(jìn)入到刪除圖書信息模塊。3、刪除存書信息窗體界面的說明窗體中放置了一個表格控件,所有存書記錄都顯示在里面。選擇需要刪除的記錄,在彈出式菜單中選擇“刪除存書信息”命令,單擊確定按鈕,將刪除當(dāng)前記錄。6.4.4查詢商品信息窗體的創(chuàng)建1、查詢存書信息窗體的功能描述查詢存書信息窗體主要通過存書名稱來完成存書信息的查詢。2、查詢存書信息窗體的界面圖6.6存書信息窗體查詢界面選擇“存書管理-操作-查詢”菜單,就可進(jìn)入到查詢圖書信息模塊。3、查詢存書信息窗體界面的說明在查詢存書信息窗體中可以按照存書名稱進(jìn)行查詢。載入窗體時,將自動加入所有存書名稱的信息。設(shè)置完查詢內(nèi)容后,單擊確定按鈕將進(jìn)行查詢。查詢語句將傳遞給存書列表窗體,顯示滿足條件的所有記錄。6.5售書管理模塊的創(chuàng)建在售書管理模塊中,用戶可對圖書的售出情況進(jìn)行查詢??刹榭吹膬?nèi)容包括所要查詢圖書的買出日期和賣出數(shù)量,方便用戶有計(jì)劃的采購圖書。圖6.7售書管理界面6.6購書管理模塊的創(chuàng)建在購書管理模塊中,用戶可以查看圖書編號,圖書分類,圖片,圖書名稱,圖書作者,圖書單價,圖書折扣,出版社和圖書內(nèi)容等信息。用戶可根據(jù)書店所需來選擇是否采購此書,如要采購此書,只需點(diǎn)擊進(jìn)購即可。圖6.8圖書采購管理界面6.7購書單審核管理模塊的創(chuàng)建在購書單審核管理模塊中,用戶可以查看購書但編號,圖書編號,圖書名稱,進(jìn)貨數(shù)量和是否通過審核等信息。用戶可根據(jù)該采購的圖書是否通過審核來對所采購的圖書進(jìn)行修改和刪除操作。圖6.9購書單審核管理界面第7章系統(tǒng)測試7.1軟件測試目的軟件測試是程序的一種執(zhí)行過程,目的是盡可能發(fā)現(xiàn)并改正被測試軟件中的錯誤,提高軟件的可靠性。它是軟件生命周期中一項(xiàng)非常重要且非常復(fù)雜的工作,對軟件可靠性保證具有極其重要的意義。在目前形式化方法和程序正確性證明技術(shù)還無望成為實(shí)用性方法的情況下,軟件測試在將來相當(dāng)一段時間內(nèi)仍然是軟件可靠性保證的有效方法。軟件工程的總目標(biāo)是充分利用有限的人力和物力資源,高效率、高質(zhì)量地完成軟件開發(fā)項(xiàng)目。不足的測試勢必使軟件帶著一些未揭露的隱藏錯誤投入運(yùn)行,這將意味著更大的危險(xiǎn)讓用戶承擔(dān)。過度測試則會浪費(fèi)許多寶貴的資源。到測試后期,即使找到了錯誤,然而付出了過高的代價。E.W.Dijkstra的一句名言說明了這一道理:“程序測試只能表明錯誤的存在,而不能表明錯誤不存在?!笨梢姡瑴y試是為了使軟件中蘊(yùn)涵的缺陷低于某一特定值,使產(chǎn)出、投入比達(dá)到最大。7.2軟件測試的基本過程軟件測試是一個極為復(fù)雜的過程。一個規(guī)范化的軟件測試過程通常包括以下基本的測試活動:擬定軟件測試計(jì)劃編制軟件測試大綱確定軟件測試環(huán)境設(shè)計(jì)和生成測試用例實(shí)施測試生成軟件測試報(bào)告對整個測試過程進(jìn)行有效的管理,實(shí)際上,軟件測試過程與整個軟件開發(fā)過程基本上是平行進(jìn)行的,那些認(rèn)為只有在軟件開發(fā)完成以后才進(jìn)行測試的觀點(diǎn)是危險(xiǎn)的。測試計(jì)劃早在需求分析階段即應(yīng)開始制定,其它相關(guān)工作,包括測試大綱的制定、測試數(shù)據(jù)的生成、測試工具的選擇和開發(fā)等也應(yīng)在測試階段之前進(jìn)行。充分的準(zhǔn)備工作可以有效地克服測試的盲目性、縮短測試周期,提高測試效率,并且起到測試文檔與開發(fā)文檔互查的作用。軟件測試大綱是軟件測試的依據(jù)。它明確詳盡地規(guī)定了在測試中針對系統(tǒng)的每一項(xiàng)功能或特性所必須完成的基本測試項(xiàng)目和測試完成的標(biāo)準(zhǔn)。無論是自動測試還是手動測試,都必須滿足測試大綱的要求。測試環(huán)境是一個確定的,可以明確說明的條件,不同的測試環(huán)境可以得出對同一軟件的不同測試結(jié)果,這正說明了測試并不完全是客觀的行為,任何一個測試的結(jié)果都是建立在一定的測試環(huán)境之上的。沒必要去創(chuàng)造一個盡可能好的測試環(huán)境,而只需一個滿足要求的、公正一致的、穩(wěn)定的、可以明確說明的條件。測試環(huán)境中最需明確說明的是測試人員的水平,包括專業(yè)的、計(jì)算機(jī)的、經(jīng)驗(yàn)的能力以及與被測程序的關(guān)系,這種說明還要在評測人員對評測對象作出的判斷的權(quán)值上有所體現(xiàn)。這一點(diǎn)要求測試機(jī)構(gòu)建立測試人員庫并對其參與測試的工作業(yè)績不斷做出評價。一般而言,測試用例是指為實(shí)施一次測試而向被測系統(tǒng)提供的輸入數(shù)據(jù)、操作或各種環(huán)境設(shè)置。測試用例控制著軟件測試的執(zhí)行過程,它是對測試大綱中每個測試項(xiàng)目的進(jìn)一步實(shí)例化。已有許多著名的論著總結(jié)了設(shè)計(jì)測試用例的各種規(guī)則和策略。從工程實(shí)踐的角度出發(fā),應(yīng)遵循以下幾點(diǎn):1、要弄清軟件的任務(wù)剖面,使測試用例具代表性;能夠代表各種合理和不合理的、合法和非法的、邊界和越界的,以及極限的輸入數(shù)據(jù)、操作和環(huán)境設(shè)置等;2、測試結(jié)果的可判定性:即測試執(zhí)行結(jié)果的正確性是預(yù)先可判定的;3、測試結(jié)果的可再現(xiàn)性:即對同樣的測試用例,系統(tǒng)的執(zhí)行結(jié)果應(yīng)當(dāng)是相同的。7.3鞍山北方書店銷售管理系統(tǒng)測試登陸模塊測試用例:表7.1登錄測試用例項(xiàng)目軟件鞍山北方書店銷售管理系統(tǒng)程序版本1.0功能模塊Login編制人楊可夫功能特性用戶身份驗(yàn)證測試目的驗(yàn)證是否輸入合法的信息,允許合法登錄,阻止非法登錄測試數(shù)據(jù)用戶名=123密碼=456789操作步驟操作描述數(shù)據(jù)期望結(jié)果實(shí)際結(jié)果1輸入用戶名稱,按“確定”按鈕。用戶名=123,密碼為空顯示警告信息“口令錯誤!”顯示警告信息“口令錯誤!”2輸入密碼,按“確定”按鈕。用戶名為空,密碼=46789顯示警告信息“用戶名錯誤!”顯示警告信息“用戶名錯誤!”3輸入用戶名和密碼,按“確定”按鈕。用戶名=123,密碼=123456顯示警告信息“口令錯誤!”顯示警告信息“口令錯誤!”4輸入用戶名和密碼,按“確定”按鈕。用戶名=456,密碼=46789顯示警告信息“用戶名錯誤!”顯示警告信息“用戶名錯誤!”顯示警告信息“超出允許的登錄次數(shù),登錄窗口將關(guān)閉!”測試人員楊可夫開發(fā)人員楊可夫項(xiàng)目負(fù)責(zé)人楊可夫結(jié)論經(jīng)過三個多月的緊張工作和學(xué)習(xí),畢業(yè)設(shè)計(jì)已經(jīng)告一段落。我順利的完成了《鞍山北方書店銷售管理系統(tǒng)》這一課題。該軟件達(dá)到了界面簡潔大方、操作方便、功能穩(wěn)定的要求。我在設(shè)計(jì)和開發(fā)的過程中不僅較好地掌握了Java基于數(shù)據(jù)庫方面的應(yīng)用、鞏固了我對Java數(shù)據(jù)庫的掌握,提高了筆者的自學(xué)能力和解決問題的能力,更為重要的是學(xué)會了在實(shí)踐中學(xué)習(xí)的方法。在畢業(yè)設(shè)計(jì)之前,總覺得自己大學(xué)四年就只學(xué)了一堆理論,只會紙上談兵,這次設(shè)計(jì)對我來說是一次很好的實(shí)踐和鍛煉。從設(shè)計(jì)一開始,我就從軟件工程的角度出發(fā),按其開發(fā)過程來展開;由于是第一次做比較大的系統(tǒng),加上我在開發(fā)工具方面知識欠缺,調(diào)查研究后仍是很迷茫,不知如何下手;在老師和同學(xué)的指導(dǎo)下,選定了開發(fā)工具、明確了設(shè)計(jì)內(nèi)容;經(jīng)過這個過程,我深刻得體會到在實(shí)踐中去學(xué)習(xí)、摸索,聯(lián)系實(shí)際來學(xué)習(xí)新知識是最有效的學(xué)習(xí)方法。有了目標(biāo),在實(shí)際的設(shè)計(jì)和開發(fā)過程中仍會遇到的這樣那樣的困難。在一步步把困難拋到身后時,筆者體會到:第一、要有信心,問題總會得到解決的。遇到問題時不要心急,要有正確的處理態(tài)度和方法,應(yīng)認(rèn)真翻閱相關(guān)書籍、上網(wǎng)查閱相關(guān)資料、向老師同學(xué)請教。遇到問題并能解決問題,這樣自己的能力才會不斷得到提高。第二、對系統(tǒng)的開發(fā)而言,之前的計(jì)劃是十分重要的。千萬不可以邊做邊想。那樣做不僅節(jié)省不了時間反而浪費(fèi)了更多的時間。一個好的計(jì)劃是必不可少的。這樣做往往更能提高效率。第三、不要被工作進(jìn)行中的小收獲沖昏了頭腦,從而導(dǎo)致由于疏忽大意而毀掉整個工程的結(jié)果,所以在整個工程完工前必須保持冷靜與清醒。第四、編程遇到的困難往往不在程序設(shè)計(jì)思想本身,要仔細(xì)。在編碼的時候,經(jīng)常并不是想錯了,多半是打錯了。碰到這種情況時錯誤還很難找到。這時就要仔細(xì)的多看看,不要一下就否決了剛剛想到的思路,沒準(zhǔn)恰恰這個思路是對的,而只是別的地方出了問題。第五、在一個模塊實(shí)現(xiàn)后,要趕快選取不同的數(shù)據(jù)對其進(jìn)行測試,盡快地發(fā)現(xiàn)問題解決問題;幾個模塊實(shí)現(xiàn)后就把它們連接起來測試,這樣對以后的開發(fā)更有幫助。經(jīng)過這幾個月的時間,我了解到一個系統(tǒng)從計(jì)劃、設(shè)計(jì)到實(shí)現(xiàn),是一個完整的體系,每一環(huán)都是必不可少的。要做好一個系統(tǒng),關(guān)鍵不是在編碼過程,而是在前期的計(jì)劃和設(shè)計(jì)。只有計(jì)劃和調(diào)研搞好了,才不會在開發(fā)的過程中經(jīng)常性地返工,從而更大地提高工作的效率。同時,我也在思考,畢業(yè)論文的完成預(yù)示著什么?預(yù)示著我即將畢業(yè),即將走出可愛的校園步入社會的大講堂,開始我的又一個新的人生旅程。那么,我應(yīng)該記下一些東西,對我的畢業(yè)論文做一個總結(jié),劃上一個完整的句號。通過這次畢業(yè)設(shè)計(jì),我也體會到了只有向前奔跑,不斷的努力學(xué)習(xí)和實(shí)踐才能立足于這社會。使我真正體會到只有用心念書,充分領(lǐng)悟書本上的知識并于實(shí)踐結(jié)合,不斷挑戰(zhàn)自我。"勞心者治人,勞力者治于人"。所以我決定繼續(xù)讀書,這次是真正的把書讀在腦子里,刻在心里,并加以貫通,才能真正地體現(xiàn)出讀書的作用。

我們必須抓住今天,珍惜每一個今天,在生活,工作,學(xué)習(xí)中要盡量不讓時間白白地流掉。要知道,你對時間越吝惜,時間對誰就越慷慨。當(dāng)你翻開日歷的新的一頁的時候,你就能無愧地說:我沒有辜負(fù)時間,更沒有辜負(fù)生命。

我們正年輕,我們要百倍的熱情去干一番屬于自己的事業(yè),這樣人生才有價值。切勿庸碌地了此一生。我們要用全部熱情,智慧及全身心地去抓住時間,這樣生命才會發(fā)出閃爍的光芒,這樣,我們也會無愧于這個年代的每個對我們培養(yǎng)教育的人,這才是真正做人的含義。

致謝在我大學(xué)最后一刻,完成我破繭成蝶的人生之舉——順利撰寫完成我的畢業(yè)論文的時候,首先當(dāng)感謝的是這一塊比起北大清華來說并不是十分肥沃但對我來說已經(jīng)是營養(yǎng)過于豐富以至于我來不及消化吸收的土壤——我成長的搖籃我親愛的母校遼寧科技大學(xué)信息技術(shù)學(xué)院對我的栽培,而我特別要感謝的是:讓我感動,讓我敬佩,我所敬愛的老師——擁有深厚的學(xué)術(shù)研究功底和學(xué)術(shù)涵養(yǎng),同時待人非常和藹可親的老師,在我論文撰寫過程中,對我積極鼓勵和十分耐心、細(xì)致的指導(dǎo),給我許多非常有益的幫助,使我的論文由十分粗糙,結(jié)構(gòu)和思路相當(dāng)混亂,逐漸轉(zhuǎn)變成為語言組織比較細(xì)膩、論點(diǎn)比較明確、思路比較清晰、材料能有序排列,觀點(diǎn)和材料能比較好的有機(jī)地融合的狀態(tài)。因而我要特別感謝老師對我的指導(dǎo),可以這么說,沒有我的指導(dǎo)老師,我的畢業(yè)論文不會那么順利地完成。因而,在有限的人生中追求人生的無限的過程中,指導(dǎo)老師是我生命中值得一生銘記和感謝的人,我的人生因他的指導(dǎo),而變得更加精彩美麗,真心地祝愿我的指導(dǎo)老師身體健康、工作順利、家庭幸福,在學(xué)術(shù)研究上取得更為輝煌的成就,為我等學(xué)生們做出更好的引航作用,桃李滿天下!參考文獻(xiàn)[1]萬峰科技.JSP網(wǎng)站開發(fā)四酷全書[M].北京:電子工業(yè)出版社,2006.1,56-78.

[2]飛思科技.JSP數(shù)據(jù)庫開發(fā)實(shí)例精粹[M].北京:電子工業(yè)出版社,2005.1,322-433.

[3]鄧子云.JSP網(wǎng)絡(luò)編程[M].北京:電子工業(yè)出版社,2005.9,124-150.

[4]四維科技.JSP網(wǎng)絡(luò)編程技術(shù)與實(shí)例[M].北京:人民郵電出版社,2005.10,96-137.

[5]冰咖啡工作室.用JSP構(gòu)建動態(tài)網(wǎng)[EB/OL]..net.2006.

[6]柳永波,劉雪梅,趙長.JSP應(yīng)用開發(fā)技術(shù)[M].北京:人民郵電出版社,2005.9,267-299

[7]魯曉東,李育龍,楊健.JSP軟件工程案例精解[M].北京:電子工業(yè)出版社,2005.1,201-274.

[8]賽奎春.JSP信息系統(tǒng)開發(fā)實(shí)例精選[M].北京:機(jī)械工業(yè)出版社,2005.9,94-117.

[9]賽奎春.JSP工程應(yīng)用與項(xiàng)目實(shí)踐[M].北京:機(jī)械工業(yè)出版社,2005.1,86-109.

[10]RaviSethi.ProgrammingLanguag:comceptsandconstracts[M].Addison-WesleyPublishingCompany,1996.116-119.附錄AJDBCTMTechnicalAnalysis1.JDBCTMthedefinitionofJDBCTMisaSQLstatementfortheimplementationoftheJavaTMAPI,usedbyagroupofhisJavaprogramminglanguageclassesandinterface.JDBCfortool/databaseresearchanddevelopmenttoprovideastandardAPI,sothattheycanusepureJavaAPItowritedatabaseapplications.WithJDBC,avarietyofrelationaldatabasetosendSQLstatementsisaveryeasytask.Inotherwords,withtheJDBCAPI,youdonothavetovisittheSybasedatabasetowriteaprogramspeciallyforthevisittoOracledatabaseandaprogramwrittenspecificallyfortheInformixdatabaseandwriteaccesstoanotherprogram,andsoon.YoucanuseJDBCAPIenoughtowriteaprogramthathemaysendtotheappropriatedatabaseSQLstatement.Moreover,usingtheJavaprogramminglanguageapplications,thereisnoneedtoworryforthepreparationofdifferentplatformsindifferentapplications.WillcombineJavaandJDBCprogrammerswillonlyneedtorewritetheprogramsothathecanrunonallplatforms.Javahasastrong,safe,easytouse,easytounderstandandcanbedownloadedautomaticallyfromthenetwork,suchasthecharacteristicsofthepreparationofdatabaseapplicationsisanoutstandinglanguage.NeedisavarietyofJavaapplicationsandengageinadialoguebetweendifferentdatabaseapproach.JDBCisthemechanismforthispurpose.JDBCexpandedthefunctionsofJava.Forexample,usingJavaandtheJDBCAPItopublishwebpagescontainingappletandtheappletmayusearemotedatabasefromJDBCcanbeusedalsotoallstaffthroughIntranetconnectedtooneormoreoftheinternaldatabase(eveniftheyareusedbystaffWindowscomputers,MacintoshandUNIXoperatingsystems,suchasdifferent).AsmoreandmoreprogrammerstostartusingJavaprogramminglanguage,Javainfromconvenientaccesstodatabasesisalsoincreasingdemand.MISmanagerslikethecombinationofJavaandJDBCbecausehesoeasydisseminationofinformationandeconomy.Enterprisescancontinuetousetheirinstalleddatabasesandaccessinformationeasily,eveniftheinformationisstoredindifferentdatabasemanagementsystems.Newresearchanddevelopmentprogramaveryshortperiod.Installationandversioncontrolwillbegreatlysimplified.Programmerscanbepreparedonlyonceoronlyupdateapplicationsonce,andthenheputtheserver,andtheneveryonecangetthelatestversionoftheapplication.Salesforthebusinessinformationservices,JavaandJDBCforaccesstoinformationprovidedbyexternalcustomersabetterwaytoupdate.2.JDBCusesToputitsimply,JDBCcandothreethings:establishaconnectionandthedatabase,sendSQLstatementsandprocessresults.Thefollowingcodesegmentgivestheexampleabovethebasicthreesteps:Connectioncon=DriverManager.getConnection("jdbc:odbc:wombat","login","password");Statementstmt=con.createStatement();ResultSetrs=stmt.executeQuery("SELECTa,b,cFROMTable1");while(rs.next()){intx=rs.getInt("a");Strings=rs.getString("b");floatf=rs.getFloat("c");}BasedontheabovecodetotheJDBCdatabaseaccessdoneasummaryoftheclassic,ofcourse,inthissectionwillbepartofthefollow-uphehasdoneonthedetailedanalysis.3.JDBCAPIJDBCisa"lowlevel"interface,thatistosay,heusedtocallSQLcommandsdirectly.Inthisrespectthefunctionsofhisexcellent,andthedatabaseconnectionotherthantheAPIeasytouse,buthealsohasbeendesignedasabasisforinterface,canbeestablishedoninhishigh-levelinterfacesandtools.Highinterfaceis"userfriendly"interface,heusesamoreconvenientandeasiertounderstandtheAPI,thisAPIareconvertedtobehindthescenessuchaslow-levelJDBCinterface.Relationaldatabaseinthe"object/relational"mapping,thetableofeachlinecorrespondstoaninstanceofclass,andeachcolumncorrespondstotheexampleofthevalueofaproperty.Thus,programmerscandirectlyoperateonJavaobjects;theSQLdataaccesscallswillbe"undertheguiseof"automaticallygenerated.Canalsoprovideamorecomplexmapping,forexample,anumberoftablerowsintoaJavaclass.WiththegrowinginterestoftheJDBCrise,moreandmoreR&DpersonnelhasbeentheuseofJDBC-basedtoolstoenablethepreparationoftheprogrameasier.Programmershavebeeninthepreparationofend-userstrytoaccessthedatabasehasbecomemoresimpleapplications.Forexample,applicationscanprovideamenutochoosethedatabasetasks.Afterthetaskhasbeenselected,theapplicationwillbegivenpromptandfillgapsintheimplementationofselectedtasksforthenecessaryinformation.EntertherequiredapplicationinformationwillautomaticallycallthenecessarySQLcommands.Insuchanassistanceprogram,evenifusersdonotunderstandthesyntaxofSQL,Alsoabletoperformdatabasetasks.4.JDBCandODBC,andotherAPIComparisonCurrently,Microsoft'sODBCAPImaybethemostwidelyused,isusedtoaccesstherelationaldatabaseprogramminginterface.Hecaninalmostallplatforms,almostallthedatabaseconnections.WhyJavadoesnotuseODBC?Theanswertothisquestionis:JavacanuseODBC,butthebestisinthehelpofJDBCtoJDBC-ODBCCfromJavacodetocallthelocalsecurity,therealizationofrobustnessandauto-transplantationoftheprogramhasmanyshortcomings.ODBCCAPIfromtheJavaAPItotheliteraltranslationisnotdesirable.Forexample,Javanopointer,butODBChasawiderangeofindicatorsused(includingthepointerisverypronetoerror"void*").JDBCimagineyoucanbeconvertedintoobject-orientedinterfacetoODBC,andobject-orientedinterfaceforJavaprogrammersiseasiertoreceive.ODBCisverydifficult.Hissimpleandadvancedfeaturestomix,andevenforsimplequery,theoptionsarehighlycomplex.Incontrast,JDBCasmuchaspossibletoensurethatthesimplicityofasimplefunction,whileatthesametime,ifnecessary,allowingtheuseofadvancedfeatures.Theopeningof"pureJava"mechanismssuchastheneedforJDBClikeJavaAPI.IfyouareusingODBC,itmustbemanuallyODBCdrivermanageranddriverinstalledoneachclient.IffullypreparedtouseJavaareJDBCdriverJDBCcodeinallJavaplatforms(fromthenetworktothemainframecomputer)canbeautomaticallyinstalled,andtoensurethesafetyoftransplantation.Inshort,JDBCAPIforthebasicconceptoftheabstractandtheSQLisanaturalJavainterface.HebuiltonODBCratherthanstartingfromscratch.Therefore,programmersfamiliarwithODBCwillfindveryeasytouseJDBC.JDBCretainsthebasicdesignfeaturesofODBC;amatteroffact,twointerfacesarebasedontheX/OpenSQLCLI(call-levelinterface).Biggestdifferencebetweenthemis:JDBCtoJavastyleandthebenefitsofoptimization-basedandthereforemoreeasytouse.Atpresent,MicrosofthasintroducedanewODBCoutsidetheAPI:RDO,ADOandOLEDB.InmanywaysthesedesignsandJDBCisthesame,thatis,theyareobject-orienteddatabaseinterfaceODBC-basedtoachieveintheclass.However,intheseinterfaces,wedidnotseethattherearespecialfeaturesthatwehadtochoosetoreplacetheirODBC,particularlyintheODBCdriverhasestablishedarelativelyperfectmarketconditions.Thatis,theycameupwiththeincreaseintheODBCjustadecoration.5.JDBConB/SandC/SmodesupportJDBCAPIsupportsbothtwo-tiermodelfordatabaseaccess(C/S),aswellastosupportthethree-tiermodel(B/S).Inthetwo-tiermodel,Javaappletorapplicationandthedatabasewillhaveadirectdialogue.ThiswillneedaJDBCdriverandtheaccesstospecificdatabasemanagementsystemtocommunicate.Theuser'sSQLstatementwassenttothedatabase,anditsfindingswillbereturnedtotheuser.Databasecanbelocatedonanothercomputer,theuserthroughthenetworktoconnecttotheabove.Thisiscalledclient/serversetup,whichtheuser'scomputerfortheclienttoprovidethedatabaseservercomputer.NetworkistheIntranet(staff,hecanlinkup),butalsotheInternet.Inthethree-tiermodel,commandsaresenttotheservicefirstofthe"middlelayer",andthenhewillbesenttothedatabaseSQLstatement.DatabasetoprocessSQLstatementsandtheresultssentbacktothemiddlelayer,middlelayerandthentheresultsreturnedtousers.MISmanagershavefoundthatthree-tiermodelveryattractivebecausethemiddlelayercanbeusedtocontrolaccesstocorporatedataandcanbeusedforthetypeofupdate.Anotheradvantageofthemiddlelayer,theusercantakeadvantageofeasy-to-usehigh-levelAPI,andthemiddlelayerwillheconvertedtothecorrespondinglow-levelcall.Finally,thethree-tierstructureinmanycasescanprovidesomeperformancebenefits.Sofar,themiddlelayerisusuallyusedCorC++thistypeoflanguagetowrite,fasterimplementationoftheselanguages.However,withthecompileroptimization(heconvertedtoJavabytecodeinaspecificandhighlyefficientmachinecode)theintroduction,usingJavatoachievethemiddlelayerwillbecomeincreasinglypractical.Thiswillbeaverygreatprogress,hemadeitpossibletotakefulladvantageofthemanybenefitsofJava(suchasasolid,multi-threading,andsecurityfeatures).JDBCfromthemiddleofJavatoaccessthedatabaselayerisveryimportant.6.SQLconsistencyStructuredQueryLanguage(SQL)isthestandardrelationaldatabaseaccesslanguage.Difficultyliesinthefactthat:AlthoughmostoftheDBMS(databasemanagementsystem)touseitsbasicfeaturesarethestandardformofSQL,buttheydonotcomplywiththerecentmoreadvancedfeaturesforthedefinitionofthestandardSQLsyntaxorsemantics.Forexample,notalldatabasessupportthestorageofprogramsorexternalconnection,thosewhosupportthisfeaturebetweenthedifferentdatabases.ItishopedthatthestandardSQLinthatpartoftherealcanbeexpandedtoincludemoreandmorefunctions.ButatthesametimealsotheJDBCAPImustsupporttheexistingSQL.JDBCAPItosolvethisproblemonewayistoallowallquerystringhasbeenreachedbythedriverinvolvedintheDBMS.ThismeansthatapplicationscanuseanynumberofSQLfunctions,buthemusttakesucharisk:theremaybeerrorsinsomeDBMS.Infact,inquiriesorapplicationsmaynotbeSQL,orthathecanbeaDBMSforthespecificdesignofadedicatedSQLderivatives(forexample,adocumentorimagequeries).JDBCconsistencyissuestodealwithSQLThesecondmethodistoprovidetheODBC-styleescapeclause,whichwillbediscussedinthefollow-uppart.EscapeforafewcommongrammaticaldifferencesbetweenSQLprovidesastandardJDBCsyntax.Forexample,thedateoftheletterandcallthestoredprocesshasescapedsyntax.Forcomplexapplications,JDBCthirdmethodusedtodealwiththeissueofSQLconsistencyDatabaseMetaDatainterfaceheusedontheDBMStoprovidedescriptiveinformation,sothatapplicationscanadapttotheneedsofeachDBMSandfunction.JDBCAPIasaresultofresearchanddevelopmentwillbeusedforhigh-leveldatabaseaccesstoolsandAPIbasedontheAPI,sohemustalsopayattentiontotheconsistencyofallofitssuperstructure."ConsistentwiththeJDBCstandardTM"onbehalfofusersmayrelyontheJDBCstandardlevel.Tousethisstatement,thedrivermustsupportatleastANSISQL-2EntryLevel(ANSISQL-2onbehalfoftheU.S.NationalBureauofStandardsin1992thestandardsadopted.EntryLevelfunctiononbehalfofaspecificlistofSQL).DriverJDBCAPIR&Dpersonnelcanbebroughtaboutbythetestkitstodeterminewhethertheirdriversmeetthesestandards."ConsistentwiththeJDBCstandardTM"saidJDBCprovidershavebeenadoptedtoachievetheconsistencyofthetestprovidedbyJavaSoft.ThesetestswillcheckforconsistencyinthedefinitionoftheJDBCAPIforallclassesandmethodsexistand,ifpossible,tocheckwhethertheprogramfunctionsofSQLEntryLevel.Ofcourse,thesetestsarenotcomplete,butcurrentlyhasnointentionofJavaSoftproviderstoachievethestandardleveltocarryout.However,thisconsistencyisindeedthedefinitionoftherealizationofJDBCtoprovideacertaindegreeofcredibility.Asmoreandmoreofthedatabaseprovidertoconnectproviders,InternetprovidersandapplicationprogrammerfortheJDBCAPItoaccept,JDBCisalsorapidlybecomingthestandardJavadatabaseaccess.附錄BJDBCTM技術(shù)解析JDBCTM的定義JDBCTM是一種用于執(zhí)行SQL語句的JavaTMAPI,他由一組用Java編程語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫研發(fā)人員提供了一個標(biāo)準(zhǔn)的API,使他們能夠用純JavaAPI來編寫數(shù)據(jù)庫應(yīng)用程式。有了JDBC,向各種關(guān)系數(shù)據(jù)庫發(fā)送SQL語句就是一件非常容易的事。換言之,有了JDBCAPI,就不必為訪問Sybase數(shù)據(jù)庫專門寫一個程式,為訪問Oracle數(shù)據(jù)庫又專門寫一個程式,為訪問Informix數(shù)據(jù)庫又寫另一個程式,等等。你只需用JDBCAPI寫一個程式就夠了他可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL語句。而且,使用Java編程語言編寫的應(yīng)用程式,就無須去憂慮要為不同的平臺編寫不同的應(yīng)用程式。將Java和JDBC結(jié)合起來將使程式員只須寫一遍程式就可讓他在所有平臺上運(yùn)行。Java具有堅(jiān)固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動下載等特性,是編寫數(shù)據(jù)庫應(yīng)用程式的杰出語言。所需要的只是Java應(yīng)用程式和各種不同數(shù)據(jù)庫之間進(jìn)行對話的方法。而JDBC正是作為此種用途的機(jī)制。JDBC擴(kuò)展了Java的功能。例如,用Java和JDBCAPI能發(fā)布含有applet的網(wǎng)頁,而該applet使用的信息可能來自遠(yuǎn)程數(shù)據(jù)庫企業(yè)也能用JDBC通過Intranet將所有職員連到一個或多個內(nèi)部數(shù)據(jù)庫中(即使這些職員所用的計(jì)算機(jī)有視窗系統(tǒng)、Macintosh和UNIX等各種不同的操作系統(tǒng))。隨著越來越多的程式員開始使用Java編程語言,對從Java中便捷地訪問數(shù)據(jù)庫的需求也在日益增加。MIS管理員們都喜歡Java和JDBC的結(jié)合,因?yàn)樗剐畔鞑プ兊萌菀缀徒?jīng)濟(jì)。企業(yè)可繼續(xù)使用他們安裝好的數(shù)據(jù)庫,并能便捷地存取信息,即使這些信息是儲存在不同數(shù)據(jù)庫管理系統(tǒng)上。新程式的研發(fā)期非常短。安裝和版本控制將大為簡化。程式員可只編寫一遍應(yīng)用程式或只更新一次,然后將他放到服務(wù)器上,隨后所有人就都可得到最新版本的應(yīng)用程式。對于商務(wù)上的銷售信息服務(wù),Java和JDBC可為外部客戶提供獲取信息更新的更好方法。JDBC的用途簡單地說,JDBC可做三件事:和數(shù)據(jù)庫建立連接、發(fā)送SQL語句并處理結(jié)果。下列代碼段給出了以上三步的基本示例:Connectioncon=DriverManager.getConnection("jdbc:odbc:wombat","login","password");Statementstmt=con.createStatement();ResultSetrs=stmt.executeQuery("SELECTa,b,cFROMTable1");while(rs.next()){intx=rs.getInt("a");Strings=rs.getString("b");floatf=rs.getFloat("c");}上述代碼對基于JDBC的數(shù)據(jù)庫訪問做了經(jīng)典的總結(jié),當(dāng)然,在本小節(jié)的后續(xù)部分會對他做詳盡的分析講解。JDBCAPIJDBC是個"低級"接口,也就是說,他用于直接調(diào)用SQL命令。在這方面他的功能極佳,并比其他的數(shù)據(jù)庫連接API易于使用,但他同時也被設(shè)計(jì)為一種基礎(chǔ)接口,在他之上能建立高級接口和工具。高級接口是"對用戶友好的"接口,他使用的是一種更易理解和更為方便的API,這種API在幕后被轉(zhuǎn)換為諸如JDBC這樣的低級接口。在關(guān)系數(shù)據(jù)庫的"對象/關(guān)系"映射中,表中的每行對應(yīng)于類的一個實(shí)例,而每列的值對應(yīng)于該實(shí)例的一個屬性。于是,程式員可直接對Java對象進(jìn)行操作;存取數(shù)據(jù)所需的SQL調(diào)用將在"掩蓋下"自動生成。此外還可提供更復(fù)雜的映射,例如將多個表中的行結(jié)合進(jìn)一個Java類中。隨著人們對JDBC的興趣日益增漲,越來越多的研發(fā)人員一直在使用基于JDBC的工具,以使程式的編寫更加容易。程式員也一直在編寫力圖使最終用戶對數(shù)據(jù)庫的訪問變得更為簡單的應(yīng)用程式。例如應(yīng)用程式可提供一個選擇數(shù)據(jù)庫任務(wù)的菜單。任務(wù)被選定后,應(yīng)用程式將給出提示及空白供填寫執(zhí)行選定任務(wù)所需的信息。所需信息輸入應(yīng)用程式將自動調(diào)用所需的SQL命令。在這樣一種程式的協(xié)助下,即使用戶根本不懂SQL的語法,也能執(zhí)行數(shù)據(jù)庫任務(wù)。JDBC和ODBC和其他API的比較目前,Microsoft的ODBCAPI可能是使用最廣的、用于訪問關(guān)系數(shù)據(jù)庫的編程接口。他能在幾乎所有平臺上連接幾乎所有的數(shù)據(jù)庫。為什么Java不使用ODBC?對這個問題的回

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論