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