【正文】
= adUseClient sql, conn, adOpenKeyset, adLockPessimistic (7) = 否 sql = select * from 讀者信息 where 讀者編號=39。 = adUseClient sql, conn, adOpenKeyset, adLockPessimisticSet = rs_book = False = False = FalseEnd SubPrivate Sub Command3_Click()Dim book_num As StringDim reader_num As StringDim answer As StringDim rs_back As New Dim sql As StringOn Error GoTo delerrorbook_num = (3).CellValue()reader_num = (1).CellValue()answer = MsgBox(確定要還這本書嗎?, vbYesNo, )If answer = vbYes Then sql = select * from 借閱信息 where 書籍編號=39。End If = adUseClient sql, conn, adOpenKeyset, adLockPessimistic = False = False = False Set = rs_findEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Frame2_DragDrop(Source As Control, X As Single, Y As Single)End Sub此板塊,可以查詢已經(jīng)借出的書,沒有借出的書,也可以按讀者姓名查詢!?。。?)還書信息如圖26如圖26代碼如下:Option ExplicitDim findform As BooleanPrivate Sub Combo1_Click() = End SubPrivate Sub Combo2_Click() = End SubPrivate Sub Combo3_Click() = End SubPrivate Sub Combo4_Click() = End SubPrivate Sub Command1_Click()Dim rs_reader As New Dim sql As Stringfindform = Truesql = select * from 借閱信息 where 讀者姓名=39?! f Trim((1)) = Trim() Then userID = userpow = (2) Unload Me Else MsgBox 密碼不正確, vbOKOnly + vbExclamation, End If End If End If ’ 只能輸入3次 t = t + 1 If t = 3 Then Unload Me End If Exit Sub End Sub (7)查詢借書信息如圖25如圖27代碼如下:Option ExplicitPrivate Sub Command1_Click()Dim sql As StringDim rs_find As New If = True Then sql = select * from 書籍信息 where 是否被借出=39?! ★@示目錄 (6) 用戶登錄子窗體代碼 在本項目中,用戶登錄子窗體是運行的第一個界面,它的作用是檢查用戶名和密碼是否正確。 and 書籍編號=39。 ) amp。 amp。 39。 amp。 39。 ’ sql, conn, adOpenKeyset, adLockPessimistic (1) = MsgBox 密碼修改成功, vbOKOnly + vbExclamation, Unload Me End If End Sub圖22 在上述代碼中,首先比較兩個表中的數(shù)據(jù)是否一致,(1) = 。 39。主窗體代碼 在本項目中,子菜單事件都是Click事件,這里先給出主窗體部分的代碼。圖14 修改密碼子窗體(4) 用戶登錄子窗體如圖15所示。 表2 菜 單 項 表菜 單 名 稱Text屬性功 能 描 述MenuItem1圖書管理頂級菜單,包含子菜單MenuItem2圖書類別調(diào)出圖書登記窗體MenuItem3圖書信息調(diào)出圖書借閱窗體MenuItem4圖書資料頂級菜單,包含子菜單MenuItem5查詢輸出調(diào)出查詢輸出窗體MenuItem6系統(tǒng)管理頂級菜單,包含子菜單MenuItem7增加用戶調(diào)出用戶窗體MenuItem8修改密碼調(diào)出密碼窗體MenuItem9退出系統(tǒng)退出 創(chuàng)建各子窗體 選擇“工程”→“添加窗體”命令,添加子窗體。MDI 應(yīng)用程序中常有包含子菜單的“窗體”選項,用于在窗體或文檔之間進行切換。_ data source= connectionstring 設(shè)置ODBC VB的ADO對象是通過ODBC來訪問數(shù)據(jù)庫,所以還要建立ODBC數(shù)據(jù)引擎接口?! ? 圖4 圖書登記表 圖書借閱表,如圖5所示。這都需要根據(jù)實際情況修改原有的安全性控制,可以設(shè)置數(shù)據(jù)庫密碼及用戶權(quán)限。 字段名數(shù)據(jù)類型說明借閱編號自動編號無讀者編號文本字段大小50讀者姓名文本字段大小50圖書編號文本字段大小50圖書名稱文本字段大小50出借日期日期/時間無在這一步中我們僅根據(jù)實體類型名和鍵來認定公共實體類型。若有聯(lián)系,進一步確定是1:N,M:N,還是1:1等。設(shè)計數(shù)據(jù)庫系統(tǒng)時應(yīng)該首先充分了解用戶各個方面的需求,包括現(xiàn)有的以及將來可能增加的需求。系統(tǒng)管理部分:包括修改系統(tǒng)用戶密碼、增加新用戶和退出系統(tǒng)三項功能。其中,借閱信息包括借閱編號、讀者編號、讀者姓名、圖書編號、圖書名稱、出借日期和還書日期。功能分析之后,再根據(jù)各個崗位、各個用戶對數(shù)據(jù)和使用權(quán)限的不同要求作出局部ER圖,然后再把各個局部ER圖綜合起來形成統(tǒng)一的整體ER圖。設(shè)計時采用了常用的自頂向下的瀑布式結(jié)構(gòu)化設(shè)計方法。4 讀者信息管理基本信息流程圖查詢修改刪除添加讀者信息管理流程圖分析:讀者基本信息的流動首先是以讀者的編號為依據(jù),來達到添加、修改、查詢、刪除讀者信息的記錄。如有則不能進行添加。 此外,設(shè)計數(shù)據(jù)流圖只需考慮系統(tǒng)必須完成的基本邏輯功能,完全不需要考慮如何具體地實現(xiàn)這些功能,所以它也是軟件設(shè)計的很好的出發(fā)點。 系統(tǒng)管理部分:包括修改系統(tǒng)用戶密碼和增加新用戶兩項功能。本著實用性和介紹性的原則,整個系統(tǒng)由四大模塊組成,每個大的模塊又包括三至四個小的模塊。在系統(tǒng)的設(shè)計過程中,我們采用了模塊獨立設(shè)計法,比較詳細的展現(xiàn)了各個模塊的功能。在庫和表的設(shè)計當(dāng)中, 我們力求層次清晰,設(shè)計簡單實用。一、 系統(tǒng)具有高效、易操作、易維護等特點,并且系統(tǒng)結(jié)構(gòu)清晰、界面友好,功能較為齊全,能有效地協(xié)助管理人員進行圖書管工作。《圖書管理系統(tǒng)》主要是為了對圖書、讀者基本信息等進行計算機管理。同時,也對數(shù)據(jù)庫中的讀者信息表的編號進行檢查。各子系統(tǒng)具有獨立的數(shù)據(jù)庫結(jié)構(gòu),同時又具有相關(guān)的關(guān)鍵字,這樣系統(tǒng)做起來后就便于用戶操作。 圖書管理部分:包括圖書信息管理和類別管理,其功能是實現(xiàn)對各部分數(shù)據(jù)內(nèi)容進行添加、修改、查詢等操作。(2)還書管理:實現(xiàn)添加還書信息功能。系統(tǒng)初始設(shè)置一個超級用戶名和密碼,操作人員可以利用這個超級用戶名和密碼登錄,之后,可以設(shè)置其他的超級用戶名稱,也可以設(shè)置權(quán)限用戶,同時也設(shè)置了這個用戶可以使用的權(quán)限。針對圖書管理系統(tǒng)的需求,通過對圖書管理系統(tǒng)流程分析,設(shè)計此系統(tǒng)需要如下面所示的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):圖書信息:包括的數(shù)據(jù)項有:圖書編號、書名、圖書類別、作者出版社、出版日期、登記日期讀者信息:包括的數(shù)據(jù)項有:讀者姓名、編號、性別、讀者類別、工作單位、家庭住址、電話號碼、登記日期和已借書數(shù)量圖書借閱信息:包括的數(shù)據(jù)項有:借閱編號、讀者編號、讀者姓名、圖書編號、圖書名稱、出借日期和還書日期。還要考察一個實體類型內(nèi)部是否存在聯(lián)系,兩個實體類型之間是否存在聯(lián)系,多個實體類型之間是否存在聯(lián)系,等等。一般把同名實體類型作為公共實體類型的一類候選,把具有相同鍵的實體類型作為公共實體類型的另一類候選。 沖突分為三類:屬性沖突、結(jié)構(gòu)沖突、命名沖突。. 系統(tǒng)邏輯和物理設(shè)