版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
關于小學低年級學生日記起步教學的若干策略【內容摘要】日記教學是語文教學的一個有機組成部分,具有不可忽視的“載道”作用,是進行語文素質教育的一種有效形式。寫日記一旦成為孩子的日常習慣和愛好,將對提高孩子的習作能力起到促進的作用,這種力量是教師的教育和家長的指導無法替代的。對低年級孩子如何進行日記指導,筆者以為要用豐富有趣的內容和生動的教學方法來吸引學生,激發(fā)學生寫日記的興趣,并且持之以恒。【關鍵詞】日記教學生活素質教育
問題呈現(xiàn)日記教學是語文教學的一個有機組成部分,具有不可忽視的“載道”作用,是我們進行語文素質教育的一種有效形式。對于小學生來說,常寫日記好處多,不僅可以提高觀察能力,積累習作素材,提高習作水平,而且有益于培養(yǎng)勤于思考的好習慣,形成持之以恒的好品質。新課標中指出:日記要從低年級開始練起,寫自己想說的話,寫出自己對周圍事物的認識和感想。但是,學生剛開始接觸日記時總認為日記難寫,不少學生因“無話可寫”或“從何寫起”抓耳撓腮,不知所措。對于初學日記的低年級小學生而言,其感受尤其如此。有位同學曾這樣寫過:今天早上,我起chuang就和爸爸去玩了,玩了一下子,我就和爸爸回家了。到了下午,我就做作業(yè)了。做到了3點鐘我就到下面去玩了,玩了一會兒就回家了。又一天早上,我又去玩了。到了下午,我吃過中飯又去玩了。爸爸ma我了,我就做作業(yè)了。這則日記言之無物,像記流水帳,且標點符號也使用不正確,還有許多的錯別字。如果這樣時間久了,在習作中孩子得不到成就感,就容易產(chǎn)生厭煩情緒。其實,生活是個萬花筒,從理論上來看,它本是取之不盡、用之不竭的材料寶庫,蘊藏著許許多多豐富多彩的習作素材??蓪τ诔跞雽W的小學生而言,由于年齡的差異和認知結構的特點,事實上并非如此。因為許多時候,他們往往缺少發(fā)現(xiàn),缺少感悟。緣于此,千方百計思考日記寫什么好就成了眾望所歸。要想克服這一點,必須認真對學生進行日記指導:激發(fā)興趣,指導選材,授以方法。只有這樣,才能徹底走出日記教學的怪圈,才能徹底放松學生的手腳,才能有真正意義上的快樂日記。那么,怎樣才能讓學生把日記當作最好的伙伴呢?策略與實踐一、從一句話入手在教了新教材后,我開始打破以前的方法。從學生進入一年級的第二學期時,我開始讓學生寫話,用拼音試著寫上一句話,每隔兩天寫一次,自已想寫什么寫什么,寫法和格式都不作要求,第二天收上來后將這些作品全貼在后面黑板上進行展評,每天抽半節(jié)課進行評講,找同學讀自己寫的句子,對寫得通順的大加表揚,寫的不通順的我總是找他的優(yōu)點來表揚,因此學生是只要寫了都可以得到不同程度的表揚和獎勵。同學們是這樣寫的:今天早上下shuang了,草上白白的一層。Meimeifashao了,e頭guntangguntang的。今天上了一節(jié)體育課,我們進行了tiaoshengbisai,我leiji了。二、寫好一段話到了二年級的上學期,得開始讓學生寫日記了。我告訴他們以后我們就不再每兩天寫一句話了。每人準備一個精美的筆記本,開始把你每天的所見、所聞、所做、所感中選擇最有意義的事寫下來。頓時,學生興趣盎然。興趣是最好的老師,要讓學生寫日記的熱情保持下去,教師還要用豐富有趣的內容和生動的教學方法來吸引學生,使學生的精神得到最大的滿足。那么,如何激發(fā)學生寫日記的興趣,并且持之以恒呢?(一)、上好日記課學生剛開始寫日記時,我安排每周上日記課一節(jié)。我上日記課的方式有:1、指導寫范文。選擇一、兩幅圖先指導學生看圖:弄清畫面上畫的是什么時間,什么地方,都畫了些什么,誰在做些什么等,大體了解圖意,掌握基本內容;再抓住重點和細節(jié),深入觀察和想象。然后說一說,再大家一起板書在黑板上,并且同時教學標點符號的正確用法。2、選典型日記,師生評議。在認真批改日記之后,然后選擇幾篇典型日記,由教師朗讀,先請學生評議,說說日記的閃光點以及需要改進的地方,包括標點符號。最后教師做整體評價。3、分組競賽,每組自選兩篇日記,學生上講臺朗讀。每組選評委一名,就日記質量和朗讀水平進行評分(10分制),每次評出優(yōu)秀小組一名,優(yōu)秀個人兩名。在評比過程中,沒有評比上的從中找到了自己的缺點,明確了努力的方向,評比上的,戴著皇冠,拿著獎品,真正感受到了成功的喜悅。4、記者招待會。讓每周在寫日記中有特殊表現(xiàn)的同學舉行記者招待會,這樣既能激發(fā)同學們習作的欲望,又能讓同學們互相交流,同時還鍛煉了大家的聽評能力。(二)、開拓材源,豐富內容葉圣陶先生說:“生活就如泉源,文章猶如溪水,泉源豐盛而不枯竭,溪水自然活潑地流個不歇?!笨梢娮魑膩碜杂谏?。這也是新課改的重要理念。學生剛開始寫日記,其內容一般較為單一,主要是自己日常生活中的瑣事。我就逐步地引導學生跳出這個圈子,拓展題材的來源。引導學生多觀察,多思考,做生活的有心人。1.巧用插圖看圖寫話,圖畫就是寫話材料,看圖就成了寫話的基礎。現(xiàn)行的人教版新教材配有許多美麗的插圖,這些插圖不僅畫面優(yōu)美,而且趣味盎然,有很大的習作空間。我在指導學生寫日記的過程中,曾寫了多幅插圖,如語文二下教材的封面,一位同學是這樣寫的:春天來了,春天來了,草綠了,花開了,小樹也發(fā)芽了。我和丁丁、小紅來到草坪上玩,丁丁躺在草坪上正在享受陽光,突然,一只小鳥朝丁丁飛來了,小紅看到了漂亮的野花,真的好想去聞聞它,一只漂亮的蝴蝶朝我飛來,我真想把它抓住。啊,春天真的好美啊!多富有想象力,觀察得多仔細。這樣的練習讓孩子知道生活中的精彩有很多,要學會觀察,做生活的有心人。2、走進大自然在都市,雖然滿眼都是高樓大廈,縱橫交錯的立交橋,但也有能工巧匠建造的花園,有上蒼賦予也是人工雕琢的豐富的自然景觀:花草樹木、鳥獸蟲魚、日月星辰、風霜雨雪。關注它們,珍視它們,生命的靈性與活力能得到凸現(xiàn),獨特的感受會油然而生,童真童趣會獲得釋放,寫景狀物時孩子們就不僅有話可寫,而且寫得還頗有情趣。你看學生寫路邊花壇里的花:上學路邊花壇里開了幾種花,我都不知道它們叫什么名字,其中有一種花兒很小,qie子的yan色,外形就像爸爸愛喝的pijiugai兒,wen一Wen,只那么一點兒香氣,我qingqing地用手chumo一下,它左右yaobai,像在逗我似的。走進大自然,教師還要善于抓住契機,引導孩子們去觀察。比如深秋的一天,刮起了風。頓時,落葉紛飛。樹上的葉子飄然而下,地上的葉子也追著、趕著往前跑,好一幅大自然的美景。在我的課堂上,我趕緊組織學生們出來觀察。同學們一出教室,就被吸引住了,爭著拾飄飛的落葉,追著撿地上的落葉,還比賽誰撿的多,誰撿的漂亮?;氐浇淌遥易尨蠹曳纸M說說自己看到的景象。同學們七嘴八舌,爭著說自己的發(fā)現(xiàn),整個教室充滿了熱烈的氣氛。在大家的共同討論下,我們決定以《落葉》為題寫一篇日記。不久,在大人眼中司空見慣的落葉竟被學生形容得妙不可言。有位同學寫道:刮風了,一片片落葉跳著Wu呢!它們互相追zhu著,飄飄悠悠,在空中打著zhuan兒,戀戀不舍地離開了樹媽媽,極不情愿地落在地上。又像tao氣的孩子,腳一著地又立刻飛了起來,好像總也玩不夠。不一會兒,葉子在地上不動了。輕輕吹來一陣風,它們又慢慢地san起步來,直到走累了為止。形象的表達,真情的流露,孩子們在習作的過程中體驗了成功,嘗到了走進大自然的甜頭。緊隨的便是自覺地去擁抱大自然而樂此不疲。3、和日記一起編童話故事《新課程標準》中指出:“要引導學生說真話、實話、心里話,不說假話、空話、套話。激發(fā)學生展開想象和幻想,鼓勵寫想象中的事物?!蓖捁适率莾和钕矚g的一種文學形式,是兒童認識世界的門戶。對兒童來說,再沒有比童話故事吸引人的了,孩子們從幼兒到小學階段,接觸的各種動畫片,連環(huán)畫,故事,大都是童話。而且學生的想象是豐富的,利用這一優(yōu)勢,我運用幾個不相干的詞語,讓學生巧妙編排出一個有趣的故事。如一堂課上我用“小狗”,“陽光明媚”,“濕淋淋的”這幾個詞語讓學生自己編故事。學生們看完詞語后,不用討論,就開始寫了??磥碛眠@幾個詞語來寫故事并不難,同學們編寫的故事也是五花八門,有的寫小狗在一個陽光明媚的星期大出去玩,結果下雨,把身上弄的濕淋淋的;有的寫小狗太調皮,掉到河里弄濕了身上:有的寫小狗為了救別的小動物弄濕的……甚至有的主人公不僅僅是小狗,還有小貓,小兔等故事編寫得真是豐富多彩。也可以利用圖畫來寫童話或是多幅圖進行續(xù)編故事。如《小白兔采磨菇》、《小熊送傘》等,指導學生充分發(fā)揮想象,不拘泥于圖畫本身,要根據(jù)圖畫想到圖畫以外的東西,使情節(jié)更加豐富精彩。一個個生動有趣的童話故事,讓人仿佛置身于童話的海洋中。4、寫學校里的事學校在一個學期中會舉行許多的活動,如春游,潔美大行動,法制教育講座等等。每次活動過后讓學生寫一寫活動后的感想也是很好的日記題材。有次學校舉行了安全教育講座,我抓住了這個契機,讓學生寫了一篇日記,效果很好。其中有位同學這樣寫到:今天,我們舉行了安全知識講座,聽了以后,我覺得安全是很重要的事。我每天上學放學都要過馬路,這是很危險的。所以都要細心,要先看一下左右的車輛,再走ban馬線。5、寫學科日記當前的課堂教學不僅注重學生的認知,還注重學生內在的情趣、體驗。讓學生把自己的體驗寫出來就是一篇很好的日記。下面是幾位學生寫的數(shù)學日記:今天,媽媽洗衣服的時候,我數(shù)了數(shù):深色的有2件;淺色的有2件;棕色的4件;藍色的2件,我用2+2+4+2=10,一共有10件衣服。媽媽真辛苦??!今天,我和爸爸一同稱體重,爸爸重120斤,我重50斤,我比爸爸輕了一些,我用120—50=70(斤),算出了我比爸爸輕70斤,爸爸說吃飯時要多吃、不挑食,等到長大了,也能和他一樣健壯!效果還不錯,學生會觀察身邊的事物了,也更加深刻地體會到數(shù)學就在身邊!6、寫繪畫日記小朋友喜歡畫畫,他們能利用自己聽到,看到的加上自己的想象,把圖畫的栩栩如生。畫過以后,讓學生用文字來表述一下畫的過程和內容,也是很好的日記。一位同學這樣寫:今天我畫了一個蘋果。我先畫了一個橢圓,再畫上柄,然后涂上紅色。很漂亮,我真想吃一口。(三)、認真批改,賞識鼓勵面對學生的每一篇日記,我都會認真批改。法國教育家第斯多惠說“教學藝術的本質不在于傳授,而在于激勵、喚醒和鼓舞?!毙抡n改的批改原則是“鼓勵多與批評,賞識多于修改”。遵循這些思想和原則,我經(jīng)常利用閃光點來表揚學生的日記,哪怕是一句閃光的語言,我都如獲珍珠般在班上誦讀。在日記中鼓勵,寫心語。一個叫小斌的男同學,調皮,愛動,他在日記中寫道:老師,我的成績那么差,又那么調皮,同學們都說您喜歡我,真的嗎?我在批語中寫道:小斌,你每天都在進步,這不,你的日記語句寫得多么通順,字體又是那么端正,老師喜歡你,大膽地進步吧!大家都有會場喜歡你的。此外,適時的給學生一些意外的驚喜也可以激發(fā)興趣。比如:在持之以恒寫日記的學生的日記本中夾上一枚火紅的楓葉,給獲得好成績的同學照上一張合影,給取得飛速進步的同學發(fā)張獎狀,給有突出表現(xiàn)的同學寫張喜報……文章想像豐富畫對飛翔的翅膀,擬人手法用得好給他畫個卡通人物,畫張笑臉以示對他的鼓勵……意外驚喜,應是教師創(chuàng)造的杰作,教師應有創(chuàng)造的思維,努力用新奇的方式去激勵。教師的創(chuàng)新,不僅培養(yǎng)了學生愛寫日記的興趣,而且也啟發(fā)了學生的創(chuàng)造性思維,有創(chuàng)新型教師,便有了創(chuàng)新型學生。收獲與感悟通過近一年多的努力,學生的寫日記的興趣濃厚了,詞匯豐富了,語句通順了。綜合起來有以下幾個方面的收獲:一、鞏固語言基礎知識。學生所學的語言基礎知識只有在不斷的應用中才能真正成為自己的知識,形成基本技能。日記同作文一樣,要運用學生自己所學的字、詞、句、段、篇以及語法、修辭等方面的語言基礎知識。日記一旦形成習慣,就具有廣泛性和經(jīng)常性。所以在日記中,語言基礎知識也會有意或無意地得到最廣泛、最自覺的實踐運用。二、養(yǎng)成客觀觀察的習慣?!皩憱|西,要觀察”,這是老舍先生的經(jīng)驗之談。學生寫日記必須對所寫的事項進行客觀的觀察,只有耐心細致地去觀察生活、體驗生活,才能寫好日記。我有計劃、有目的、有價值地引導學生開展了觀察活動,進行觀察實踐,并要求學生把最深刻的觀察所得用文字表述出來,養(yǎng)成學生觀察生活的習慣。三、培養(yǎng)堅韌頑強的毅力寫日記同樣需要頑強的意志,也同樣能培養(yǎng)學生堅韌頑強的毅力。事實上,寫日記本身就是一種意志與毅力的培養(yǎng)途徑。有人曾這樣道破“天機”:寫日記是一項道德長跑。誰有恒心,鍥而不舍,誰就能鍛煉出堅韌的意志與毅力。在日記教學中,最困難的一點就是如何能讓學生持之以恒地寫下去。對此,我對學生進行必要的思想教育,還采取一定的恰當措施予以保證。例如落實一日一篇的制度;定期開展評選優(yōu)秀日記的活動,采取多種方式鼓勵日記佳作;這樣就有效地激發(fā)了學生寫日記的積極性,并保證持之以恒,養(yǎng)成學生堅韌頑強的意志與毅力。四、傾聽心靈,分擔喜樂。一般來說,學生日記的內容是真實的,流露出來的思想情操是可信的。因此,這是了解學生心靈窗口的第一手材料。讀學生的日記(在學生愿意的前提下),就像是在向你傾訴衷腸。認真閱讀學生的日記,可以了解到許多在平時根本無法了解到的情況,諸如他們的思想動態(tài),生活或學習方面的特點、習慣、要求等信息。當然,要想了解學生內心深處的這種實情,閱讀者首先要動機良好而純真,完全是出于“教書育人”的天職與需要,并將己心換彼心,獲得學生的絕對信任。在這個前提下去認真閱讀,有意了解,并把捕捉到的一些特定的信息及時記錄在“工作手冊”之中,以便針對實際情況,進行有效的思想教育。我一直認為,日記是師生之間情感溝通的橋梁,他們能把心理話真實地傾訴給老師,讓老師與他們分擔憂愁,分享快樂。從日記中我可以看到孩子們心靈的最深處。所以每當我翻開孩子們那一本本日記時,心里就很激動,好像看見那一張張可愛的小臉在與我對話。當我看見一個小女孩在日記上寫到:“老師,我和我的朋友因一點小事發(fā)生了矛盾,我們誰都不想向對方解釋,怎么辦?我不想失去她,心里痛苦極了,求您幫幫我?!庇谑俏以谌沼浬蠈懙剑耗闶且粋€心地善良的女孩,你能夠珍惜朋友之間的友誼,這正是你可愛之處。不要站在那徘徊,大膽地向前走一步,你們會合好如初。日記發(fā)下去了,那個小女孩也笑了。一天還沒到,兩個小伙伴又形影不離了??匆娝齻兛鞓返臉幼樱抑懒耸裁词切腋???傊谝龑W生寫日記的過程中,我深深地感受到:作為語文教師,我們應該引導學生走進生活,觀察生活,記錄生活并予以合理地評價,以促使學生產(chǎn)生對習作的興趣,提高習作的能力。讓我們伴著新課改的理念,走出課堂,走進生活,用日記匯集習作的源泉。讓日記伴孩子們成長。
【參考文獻】[1]方洲《特級教師教小學生獲獎作文》[M].北京:華語教學出版社.[2]《小學語文新課程教學法》[M].浙江:高等教育出版社.[3]《小學生閱讀與寫作》[J].長春:三年級版2009年第5至10期.[4]《語文教學藝術論》[M].南寧:廣西教育出版社.[5]《小學語文教材》[P].北京:人民教育出版社.畢業(yè)設計(論文、作業(yè))畢業(yè)設計(論文、作業(yè))題目:高校圖書館管理系統(tǒng)的設計與實現(xiàn)年級、專業(yè):信息管理學生姓名:學號:指導教師:完成日期:
目錄內容摘要 3關鍵字: 3一、 系統(tǒng)的需求分析 4(一) 用戶的主要業(yè)務功能需求 4(二) 用戶的操作權限管理方面的需求 4(三) 用戶對系統(tǒng)操作界面的各種需求 4二、系統(tǒng)的總體設計 4(一)系統(tǒng)的功能模塊劃分 5(二)系統(tǒng)的權限劃分和操作流程 51、人員表的設計 62、書籍表的設計 63、借書卡表的設計 74、分類表的設計 75、交流表的設計 7三、系統(tǒng)的詳細設計和制作 8(一)系統(tǒng)主窗體,用戶登錄,修改密碼窗體的設計制作 81、 系統(tǒng)主窗體的設計制作 82、 登錄窗體的設計制作 9(二) 內部管理模塊的設計制作 111、 注冊窗體的設計制作 113、 新書錄入窗口的設計制作 134、 書籍添置窗體的設計制作 165、 書籍報廢窗體的設計制作 17(三) 書庫查詢模塊的設計制作 191、分類查詢書庫窗體的設計制作 192、新書介紹窗體的的設計制作 213、熱門排行榜窗體的設計制作 23(四) 書籍借閱管理模塊設計 241、借書窗體的設計制作 242、還書窗體的設計制作 27(五) 書友交流模塊的設計制作 281、提交心得模塊的設計 282、交流心得窗體的設計制作 30五、系統(tǒng)調試和維護 32參考文獻: 33致謝 34內容摘要隨著信息技術在管理上越來越深入而廣泛的應用,管理信息系統(tǒng)的實施在技術上已逐步成熟。管理信息系統(tǒng)是一個不斷發(fā)展的新型學科,任何一個單位要生存要發(fā)展,要高效率地把內部活動有機地組織起來,就必須建立與自身特點相適應的管理信息系統(tǒng)。圖書館管理系統(tǒng)可以說是一個綜合性的管理系統(tǒng),它集成了讀者基礎資料管理系統(tǒng)、借閱管理系統(tǒng)、還書管理系統(tǒng)、查詢管理系統(tǒng)、內部管理、書友交流管理,因而具有較強的實用性和先進性。本軟件是教務管理系統(tǒng)。利用MicrosoftVisualStudio.NET2005設計工具和MicrosoftSQLServe2005開發(fā)設計,本文介紹了在VisualBasic.NET環(huán)境下采用“自上而下地總體規(guī)劃,自下而上地應用開發(fā)”的策略開發(fā)一個圖書館管理信息系統(tǒng)的過程。通過分析某一學校圖書館管理的不足,創(chuàng)建了一套行之有效的計算機管理圖書的方案。軟件分為用戶登入管理模塊、圖書借閱模塊、內部管理和書友交流4部分模塊?;A資料管理模塊包括:用戶注冊、用戶登錄、密碼修改等功能。內部管理模塊包括:管理人員注冊、圖書分類管理、書籍管理、新書錄入、書籍添置、書籍報廢等功能。圖書借閱管理模塊包括:借書、還書功能。書庫查詢模塊:分類查閱、新書介紹、熱門排行榜功能。書友交流模塊:提交心得、交流心得功能。本軟件的基本功能是對圖書館基本信息管理、內部管理、圖書借閱管理等具有瀏覽、新增、查詢、修改、等功能。整個系統(tǒng)的開發(fā)過程嚴格遵循軟件工程的要求,做到模塊化分析、模塊化設計和代碼編寫的模塊化。關鍵字:畢業(yè)設計管理信息系統(tǒng)子系統(tǒng)圖書館管理系統(tǒng)VS.Net2005SQL2005
圖書館管理系統(tǒng)系統(tǒng)的需求分析作為畢業(yè)設計項目的圖書館管理系統(tǒng),還遠遠不能囊括一般圖書館的所有管理功能.經(jīng)過一些調查研究,對本圖書館管理系統(tǒng)的需求做出如下分析:用戶的主要業(yè)務功能需求由于圖書館館藏圖書種類繁多,為便于檢索查找,必須對圖書實現(xiàn)分類管理.除類別外,對每一種圖書的檢索資料,還必須包括書名,作者,出版社,版本,內用提要等信息.要有新增書種輸入,修改等管理.要有破舊書籍的報損功能.要有對新增讀者借書卡的注冊功能.要有圖書借閱,還書等功能.為此,必須有每種圖書的庫存數(shù)量即時統(tǒng)計.要有便于讀者使用的各類圖書的檢索查詢功能.要有向讀者推介新書,熱門書籍等功能.為了便于讀者相互交流,向讀者提供發(fā)表和看閱讀書心得的平臺.用戶的操作權限管理方面的需求由于圖書館屬于公益性單位,權限管理要求相對來說比較簡單,僅分為管理員和讀者兩種.管理員的主要權限為:圖書的分類,新增,報損,借閱,歸還和為新讀者辦理注冊等.讀者的權限為:查詢館藏圖書,借還書,發(fā)表讀書心得,看閱其他讀者的讀書心得.用戶對系統(tǒng)操作界面的各種需求由于圖書館的服務對象是不同層次的人群,計算機操作的熟練程度參差不齊,因此要求系統(tǒng)的操作界面簡潔明了,操作流暢,盡可能避免由誤操作引起的系統(tǒng)崩潰等后果.由于圖書館主要的服務用品是中文書籍,因此如何減少漢字輸入量是提高普通讀者查詢,借還書籍等操作的效率的主要手段,希望盡可能采用選擇輸入法來完成上述功能.二、系統(tǒng)的總體設計(一)系統(tǒng)的功能模塊劃分根據(jù)對用戶的需求分析,對系統(tǒng)的功能模塊作出如下圖所示的劃分:圖書館管理系統(tǒng)圖書館管理系統(tǒng)修改密碼書友交流讀者注冊管理人員注冊分類管理書籍管理新書錄入 書籍添置書籍報廢分類查詢新書介紹熱門排行榜借書 還書交流心得退出內部管理冊書庫查詢書籍借閱提交心得登錄圖1系統(tǒng)的模塊劃分示意圖(二)系統(tǒng)的權限劃分和操作流程根據(jù)對用戶需求的分析,本系統(tǒng)的操作人員登錄成功后的操作權限和流程如下圖所示:輸入用戶名和密碼輸入用戶名和密碼判斷是讀者是管理員用戶注冊修改密碼內部管理書友交流書庫查詢書庫查詢書籍借閱書友交流登陸失敗退出系統(tǒng)tong圖2系統(tǒng)的操作權限劃分和操作流程(三)系統(tǒng)數(shù)據(jù)表結構的設計根據(jù)對用戶的需求分析,建立了數(shù)據(jù)庫《圖書館》,在這個數(shù)據(jù)庫里我們建立五個數(shù)據(jù)表,分別是人員表、書籍表、借書卡表、分類表、交流表。鑒于現(xiàn)在的電腦價格低廉,功能強大,硬盤早已不是稀缺資源,而編程人員的工資成本卻十分高昂,因此在設計書庫時,對數(shù)據(jù)庫的要求不應再片面注重于節(jié)省硬盤,而應更加注重于提高編程效率和代碼可讀性,降低降低維護的復雜性。為此,本系統(tǒng)的數(shù)據(jù)庫在滿足第二范式的前提下,權衡利弊后適當保留了一些冗余字段。五個數(shù)據(jù)表的結構分別為:1、人員表的設計用來記錄人員信息,設計其字段結構如下表:表1人員表的數(shù)據(jù)結構專業(yè)表列名數(shù)據(jù)類型長度允許空id(主鍵)int4姓名char8密碼char6身份char12、書籍表的設計用來記錄所有書籍的基本信息,設計其字段結構如下表:表2書籍表的數(shù)據(jù)結構學生表列名數(shù)據(jù)類型長度允許空類號char2書號(主鍵)char6書名nchar50作者nchar16出版社nchar24封面nchar12單價int4數(shù)量int4借出int4庫存int4日期datetime8簡介ntext16允許借次int4允許3、借書卡表的設計用來記錄用戶借書的信息,設計其字段結構如下表:表3借書卡表的數(shù)據(jù)結構學生成績表列名數(shù)據(jù)類型長度允許空id(主鍵)numeric9讀者char8類號char2書號char6書名nchar50借出日期datetime8應還日期Datetime8實還日期Char8允許4、分類表的設計用來記錄書籍分類的信息,設計其字段結構如下表:表4分類表的數(shù)據(jù)結構年級表列名數(shù)據(jù)類型長度允許空類號(主鍵)char2類名char85、交流表的設計用來記錄讀者交流的信息,設計其字段結構如下表:表5交流表的數(shù)據(jù)結構教師表列名數(shù)據(jù)類型長度允許空id(主鍵)int4讀者char8類號char2書號char6書名nchar50心得ntext16日期datetime8三、系統(tǒng)的詳細設計和制作(一)系統(tǒng)主窗體,用戶登錄,修改密碼窗體的設計制作系統(tǒng)主窗體的設計制作系統(tǒng)運行時主窗體的界面如下圖。窗體初始狀態(tài)下只提供[登錄]和[退出]功能。不同權限的用戶登錄成功后,他們能夠操作使用的功能菜單欄會變?yōu)橛行Э捎脿顟B(tài),其它菜單欄仍為禁用狀態(tài)。圖3系統(tǒng)主窗體運行初始界面為了實現(xiàn)主窗體的導航功能,把其設置為MDI窗體,并使它運行時最大化,添加一個圖片框控件PictureBox1,為它裝入一幅圖片。添加一個主菜單,按照總體設計中的模塊劃分示意圖建立各模塊的對應菜單欄或菜單項,除[登錄]和[退出]外,設置其它一級菜單欄的Enabled=False。最后再為主窗體添加一個定時器控件Timer1。以下是為主窗體及其上面控件編寫的事件過程:為使圖片框和屏幕大小相適應,編寫主窗體的Form1_Load()事件過程代碼為:PictureBox1.Width=Me.WidthPictureBox1.Height=Me.HeightPictureBox1.Left=0PictureBox1.Top=0編寫主菜單上各菜單項的Click()事件過程,代碼類似為:Dimfr1AsNew登錄fr1.Show()用戶登錄成功后,為根據(jù)他們的權限導航到他們可以使用的功能菜單,編寫定時器控件Timer1_tick()事件過程如下:SelectCaseTimer1.Tag.ToStringCase"0"Me.MenuItem2.Enabled=TrueMe.MenuItem3.Enabled=FalseMe.MenuItem12.Enabled=TrueMe.MenuItem13.Enabled=TrueMe.MenuItem17.Enabled=TrueCase"1"Me.MenuItem2.Enabled=TrueMe.MenuItem3.Enabled=TrueMe.MenuItem12.Enabled=TrueMe.MenuItem13.Enabled=FalseMe.MenuItem17.Enabled=TrueCase""Me.MenuItem2.Enabled=FalseMe.MenuItem3.Enabled=FalseMe.MenuItem12.Enabled=FalseMe.MenuItem13.Enabled=FalseMe.MenuItem17.Enabled=FalseEndSelectTimer1.Enabled=False登錄窗體的設計制作登錄窗體的設計界面如圖4。注意設置輸入姓名文本框的Maxlength=8,輸入姓名文本框的Maxlength=8,并設置它的PasswordChar=”*”。為了實現(xiàn)窗體的功能,本窗體連接了教務系統(tǒng)數(shù)據(jù)庫中的人員表,它的數(shù)據(jù)環(huán)境如圖5:圖5登錄出圖4登錄窗體的設計界面為實現(xiàn)和其它窗體交流信息,在系統(tǒng)內創(chuàng)建一個模塊文件moduler1,定義兩個全局變量:PublicsfAsInteger=2PublicxmAsString用戶登錄成功后,要用主窗體及其定時器控件的Tag屬性記錄下登錄者的記錄序號及權限,為此編寫登錄按鈕的Button1_Click()事件過程代碼為:ForiAsInteger=0ToMe.圖書館DataSet.人員.Rows.Count-1IfTextBox1.Text.Trim=Me.圖書館DataSet.人員(i).姓名.TrimAndTextBox2.Text.Trim=Me.圖書館DataSet.人員(i).密碼.TrimThenForm1.Tag=iForm1.Timer1.Tag=Me.圖書館DataSet.人員(i).身份xm=Me.圖書館DataSet.人員(i).姓名Form1.Timer1.Enabled=TrueMe.Close()ExitSubEndIfNextLabel3.Text="登錄失??!重新輸入姓名密碼。"退出按鈕Button2_Click事件過程的代碼為:Me.Close()修改密碼窗體的設計制作用戶登錄成功之后,可以更改自己的初始密碼。修改密碼窗體的設計界面如下圖:圖6修改密碼窗體的設計界面修改密碼窗體也只用到人員數(shù)據(jù)表,其數(shù)據(jù)環(huán)境和登錄窗體完全一樣(見圖5)。為實現(xiàn)窗體功能,編寫了以下事件過程:窗體初運行時,會顯示“歡迎XXX修改自己密碼”,為此,編寫修改密碼_Load()事件過程代碼為:Me.人員TableAdapter.Fill(Me.圖書館DataSet.人員)IfForm1.Tag=NothingThenLabel3.Text="你還沒有登錄!"ExitSubElseLabel1.Text="歡迎"+Me.圖書館DataSet.人員(Integer.Parse(Form1.Tag.ToString)).姓名.Trim+"修改自己的密碼"EndIf(2)實現(xiàn)關閉修改密碼窗口的Button2_Click事件的代碼如下所示:Me.Close()內部管理模塊的設計制作只有以管理員身份登錄的用戶才能使用此模塊下的功能,包括對讀者和管理員的注冊,分類管理和書籍管理。注冊窗體的設計制作注冊窗體的設計界面如下圖。數(shù)據(jù)環(huán)境同登陸窗體(見圖5)。圖7注冊窗體的設計界界面為了實現(xiàn)為不同身份的人員注冊,編寫了以下代碼。在主窗體的主菜單里,內部管理菜單欄下有“讀者注冊”和“管理人員注冊”兩個菜單項,點擊后都可以運行入注冊窗體。為了分清是從哪個菜單項進入注冊窗體的的,在系統(tǒng)里添加了Modulel文件,在里面定義了一個項目級全局變量:PublicsfAsInteger=2在主窗體的“讀者注冊”和“管理人員注冊”兩個菜單項的Click事件過程里分別寫入的代碼為:sf=0Dimfr3AsNew注冊fr3.Show()sf=1Dimfr3AsNew注冊fr3.Show()在注冊按鈕Button1_Click事件過程里寫入:Me.人員BindingSource.Filter="姓名='"+TextBox1.Text+"'Andm密碼='"+TextBox2.Text+"'"IfMe.人員BindingSource.Count>0ThenLabel3.Text="已經(jīng)有同姓名人注冊!"ExitSubEndIfIfsf=0Then圖書館DataSet.人員.Add人員Row(TextBox1.Text,TextBox2.Text,"0")Else圖書館DataSet.人員.Add人員Row(TextBox1.Text,TextBox2.Text,"1")EndIfMe.人員TableAdapter.Update(圖書館DataSet.人員)圖書館DataSet.人員.AcceptChanges()Label3.Text="注冊成功!"為了在窗體初運行時提示注冊人員類型,編寫窗體的注冊_Load()事件過程:Me.人員TableAdapter.Fill(Me.圖書館DataSet.人員)Ifsf=0ThenLabel1.Text="為普通讀者注冊"ElseLabel1.Text="為圖書管理員注冊"EndIf退出按鈕Button2_Click事件的代碼如下所示:Me.Close()分類管理窗體的設計制作:分類管理窗體的設計界面如圖9;它要用到分類表,數(shù)據(jù)環(huán)境如圖8。圖8分類管理窗體的數(shù)據(jù)環(huán)境圖9分類管理窗體的設計界面用戶可以直接在數(shù)據(jù)表格里完成對分類表的添加,修改等操作。在更新按鈕Button1_Click事件過程里編寫了以下代碼:Me.Validate()Me.分類BindingSource.EndEdit()Me.TableAdapterManager.UpdateAll(Me.圖書館DataSet)在退出按鈕Button2_Click事件過程里編寫了以下代碼:Me.Close()新書錄入窗口的設計制作新書錄入窗口的設計界面如下圖:圖10新書錄入窗體的設計界面本窗體使用了分類表和書籍表,數(shù)據(jù)環(huán)境如下圖:圖11新書錄入窗體的數(shù)據(jù)環(huán)境為了實現(xiàn)窗體功能,編寫了以下事件過程:定義三個窗體級的全局變量:Dimc1,c2,c3AsString為了實現(xiàn)自動編制書號,編寫了過程bh()如下:Subbh()IfMe.圖書館DataSet.書籍.Count=0ThenTextBox1.Text=Me.圖書館DataSet.分類(ComboBox1.SelectedIndex).類號+"0001"ElseDimnAsInteger=Integer.Parse(Me.圖書館DataSet.書籍(Me.圖書館DataSet.書籍.Count-1).書號.Substring(2,4))+1Ifn<10ThenTextBox1.Text=ComboBox1.SelectedValue+"000"+n.ToStringIfn>=10Andn<100ThenTextBox1.Text=ComboBox1.SelectedValue+"00"+n.ToStringIfn>=100Andn<1000ThenTextBox1.Text=ComboBox1.SelectedValue+"0"+n.ToStringIfn>=1000ThenTextBox1.Text=ComboBox1.SelectedValue+n.ToStringEndIfEndSub為實現(xiàn)窗體處世運行正常,編寫窗體新增書籍_Load()事件如下:Me.分類TableAdapter.Fill(Me.圖書館DataSet.分類)Me.書籍TableAdapter.Fill(Me.圖書館DataSet.書籍)ComboBox1.SelectedIndex=0ComboBox1_SelectedIndexChanged(sender,e)TextBox7.Text=Today分類下拉列表ComboBox1_SelectedIndexChanged()事件過程代碼如下:Me.圖書館DataSet.書籍.Clear()Dimc1AsString="select*from書籍where類號='"&ComboBox1.SelectedValue&"'"DimadAsNewSqlClient.SqlDataAdapter(c1,Me.書籍TableAdapter.Connection)ad.Fill(Me.圖書館DataSet.書籍)DataGrid1.DataSource=Me.圖書館DataSet.書籍DataGrid1.Refresh()bh()封面上傳按鈕Button1_Click()事件過程代碼為:c3=""IfButton1.Text="封面上傳"ThenIfOpenFileDialog1.ShowDialog()=DialogResult.OKAndOpenFileDialog1.FileName<>""ThenMe.PictureBox1.Image=Image.FromFile(OpenFileDialog1.FileName)EndIfButton1.Text="保存封面"Elsec3=OpenFileDialog1.FileNamec3=c3.Substring(c3.LastIndexOf("\")+1)Me.PictureBox1.Image.Save(Application.StartupPath+"\image\"+c3)Button2.Enabled=TrueButton1.Enabled=FalseEndIf新書入庫按鈕Button2_Click()事件過程代碼為:IfTextBox2.Text=""OrTextBox3.Text=""OrTextBox4.Text=""OrTextBox5.Text=""OrTextBox6.Text=""OrTextBox7.Text=""ThenMsgBox("書名等資料都不能為空!")ExitSubEndIfMe.圖書館DataSet.書籍.Add書籍Row(ComboBox1.SelectedValue,TextBox1.Text.Trim,TextBox2.Text.Trim,TextBox3.Text.Trim,TextBox4.Text.Trim,c3,CInt(TextBox5.Text),CInt(TextBox6.Text),0,CInt(TextBox6.Text),TextBox7.Text,Me.RichTextBox1.Text,0)Me.書籍TableAdapter.Update(圖書館DataSet.書籍)Me.圖書館DataSet.書籍.AcceptChanges()DataGrid1.Refresh()Button1.Text="封面上傳"Button1.Enabled=TrueButton2.Enabled=Falsebh()TextBox2.Text=""TextBox3.Text=""TextBox4.Text=""TextBox5.Text="0"TextBox6.Text="0"Me.RichTextBox1.Text=""退出按鈕Button3_Click()事件過程代碼為:Me.Close()EndSub書籍添置窗體的設計制作書籍添置窗口設計界面如下圖:圖12書籍添置窗體的設計界面為了實現(xiàn)窗體的功能,使用了圖書館數(shù)據(jù)庫中的分類表和書籍表,它的數(shù)據(jù)環(huán)境如下圖:圖13書籍添置窗體的數(shù)據(jù)環(huán)境編寫窗體的各事件過程代碼如下:窗體的添加書籍_Load()事件過程代碼為:Me.分類TableAdapter.Fill(Me.圖書館DataSet.分類)Me.書籍TableAdapter.Fill(Me.圖書館DataSet.書籍)ComboBox1.SelectedIndex=0ComboBox1_SelectedIndexChanged(sender,e)Me.分類TableAdapter.Fill(Me.圖書館DataSet.分類)Me.書籍TableAdapter.Fill(Me.圖書館DataSet.書籍)ComboBox1.SelectedIndex=0ComboBox1_SelectedIndexChanged(sender,e)下拉列表ComboBox1_SelectedIndexChanged()事件過程代碼為:圖書館DataSet.書籍.Clear()Dimc1AsString="select*from書籍where類號='"&ComboBox1.SelectedValue&"'"DimadAsNewSqlClient.SqlDataAdapter(c1,Me.書籍TableAdapter.Connection)ad.Fill(圖書館DataSet.書籍)數(shù)據(jù)表格DataGrid1_CurrentCellChanged()事件過程代碼為:IfMe.圖書館DataSet.書籍.Count>0ThenTextBox1.Text=圖書館DataSet.書籍(DataGrid1.CurrentRowIndex).書號TextBox2.Text=圖書館DataSet.書籍(DataGrid1.CurrentRowIndex).書名Me.PictureBox1.Image=Image.FromFile(".\image\"+圖書館DataSet.書籍(DataGrid1.CurrentRowIndex).封面)Me.PictureBox1.Visible=TrueEndIf添加按鈕Button2_Click()事件過程代碼為:圖書館DataSet.書籍(DataGrid1.CurrentRowIndex).數(shù)量+=CInt(TextBox6.Text)圖書館DataSet.書籍(DataGrid1.CurrentRowIndex).庫存+=CInt(TextBox6.Text)Me.書籍TableAdapter.Update(圖書館DataSet.書籍)圖書館DataSet.書籍.AcceptChanges()圖片框PictureBox1_Click()事件過程代碼為:Me.PictureBox1.Visible=False退出按鈕Button3_Click()事件過程代碼為:Me.Close()書籍報廢窗體的設計制作書籍報廢窗體的sheji界面如下圖:圖13書籍報廢窗體的設計界面為了實現(xiàn)窗體功能,本窗體使用了圖書館數(shù)據(jù)庫中的分類表和書籍表,它的數(shù)據(jù)環(huán)境,如下圖:圖14書籍報廢窗體的數(shù)據(jù)環(huán)境窗體的各事件過程如下:窗體添加書籍_Load()事件過程代碼為:Me.分類TableAdapter.Fill(Me.圖書館DataSet.分類)Me.書籍TableAdapter.Fill(Me.圖書館DataSet.書籍)ComboBox1.SelectedIndex=0ComboBox1_SelectedIndexChanged(sender,e)下拉列表ComboBox1_SelectedIndexChanged()事件過程代碼為:圖書館DataSet.書籍.Clear()Dimc1AsString="select*from書籍where類號='"&ComboBox1.SelectedValue&"'"DimadAsNewSqlClient.SqlDataAdapter(c1,Me.書籍TableAdapter.Connection)ad.Fill(圖書館DataSet.書籍)數(shù)據(jù)表格DataGrid1_CurrentCellChanged()事件過程代碼為:IfMe.圖書館DataSet.書籍.Count>0ThenTextBox1.Text=圖書館DataSet.書籍(DataGrid1.CurrentRowIndex).書號TextBox2.Text=圖書館DataSet.書籍(DataGrid1.CurrentRowIndex).書名Me.PictureBox1.Image=Image.FromFile(".\image\"+圖書館DataSet.書籍(DataGrid1.CurrentRowIndex).封面)Me.PictureBox1.Visible=TrueEndIf報廢按鈕Button2_Click()事件過程代碼為:Me.圖書館DataSet.書籍(DataGrid1.CurrentRowIndex).數(shù)量-=CInt(TextBox6.Text)Me.圖書館DataSet.書籍(DataGrid1.CurrentRowIndex).庫存-=CInt(TextBox6.Text)Me.書籍TableAdapter.Update(Me.圖書館DataSet.書籍)Me.圖書館DataSet.書籍.AcceptChanges()圖片框PictureBox1_Click()事件過程代碼為:Me.PictureBox1.Visible=False退出按鈕Button3_Click()事件過程代碼為:Me.Close()書庫查詢模塊的設計制作這個模塊對所有登錄成功者開放,包括“分類查詢”、“新書介紹”和“熱門排行榜”三個功能窗體,用戶可以按照自己的需求點擊主菜單中相應菜單項進入查詢。1、分類查詢書庫窗體的設計制作分類查詢窗體的運行界面如圖16所示。為了實現(xiàn)窗體的功能,本窗體使用了圖書館數(shù)據(jù)庫中的分類表和書籍表,它的數(shù)據(jù)環(huán)境如圖15:圖15分類查詢書庫窗體的數(shù)據(jù)環(huán)境圖16分類查詢書庫窗體的運行界面窗體的各事件過程如下:窗體的分類查詢書庫_Load()事件過程代碼為:Me.分類TableAdapter.Fill(Me.圖書館DataSet.分類)Me.書籍TableAdapter.Fill(Me.圖書館DataSet.書籍)ForiAsInteger=0To圖書館DataSet.分類.Rows.Count-1Me.ToolBar1.Buttons(i).Text=圖書館DataSet.分類(i).類名Me.ToolBar1.Buttons(i).Tag=圖書館DataSet.分類(i).類號Next圖書館DataSet.書籍.Clear()Dimc1AsString="select*from書籍where類號='01'"DimadAsNewSqlClient.SqlDataAdapter(c1,Me.書籍TableAdapter.Connection)ad.Fill(圖書館DataSet.書籍)DataGrid1.CurrentRowIndex=0DataGrid1_CurrentCellChanged(sender,e)數(shù)據(jù)表格DataGrid1_CurrentCellChanged()事件過程代碼為:Me.PictureBox1.Image=Image.FromFile(".\image\"+圖書館DataSet.書籍(DataGrid1.CurrentRowIndex).封面)Me.RichTextBox1.Text=圖書館DataSet.書籍(DataGrid1.CurrentRowIndex).簡介工具條ToolBar1_ButtonClick()事件過程代碼為:Ife.Button.Tag=""ThenMe.closeEndIf圖書館DataSet.書籍.Clear()Dimc1AsString="select*from書籍where類號='"&e.Button.Tag&"'"DimadAsNewSqlClient.SqlDataAdapter(c1,Me.書籍TableAdapter.Connection)ad.Fill(圖書館DataSet.書籍)If圖書館DataSet.書籍.Count>0ThenDataGrid1.CurrentRowIndex=0DataGrid1_CurrentCellChanged(sender,e)ElseMe.PictureBox1.Image=NothingMe.RichTextBox1.Text=""EndIf2、新書介紹窗體的的設計制作新書介紹窗體運行時界面如下圖。圖17新書介紹窗體的運行界面為了實現(xiàn)窗體的功能,本窗體使用了圖書館數(shù)據(jù)庫中的分類表和書籍表,它的數(shù)據(jù)數(shù)據(jù)環(huán)境如下圖:圖18新書介紹窗體的數(shù)據(jù)環(huán)境窗體的各事件過程如下:窗體分類查詢書庫_Load()事件過程代碼為:Me.分類TableAdapter.Fill(Me.圖書館DataSet.分類)Me.書籍TableAdapter.Fill(Me.圖書館DataSet.書籍)ForiAsInteger=0To圖書館DataSet.分類.Rows.Count-1Me.ToolBar1.Buttons(i).Text=圖書館DataSet.分類(i).類名Me.ToolBar1.Buttons(i).Tag=圖書館DataSet.分類(i).類號Next圖書館DataSet.書籍.Clear()Dimc1AsString="selecttop5*from書籍where類號='01'orderby日期desc"DimadAsNewSqlClient.SqlDataAdapter(c1,Me.書籍TableAdapter.Connection)ad.Fill(圖書館DataSet.書籍)DataGrid1.CurrentRowIndex=0DataGrid1.CaptionText="文學小說類新書一覽表"DataGrid1_CurrentCellChanged(sender,e)數(shù)據(jù)表格DataGrid1_CurrentCellChanged()事件過程代碼為:Me.PictureBox1.Image=Image.FromFile(".\image\"+圖書館DataSet.書籍(DataGrid1.CurrentRowIndex).封面)Me.RichTextBox1.Text=圖書館DataSet.書籍(DataGrid1.CurrentRowIndex).簡介工具條ToolBar1_ButtonClick()事件過程代碼為:Ife.Button.Tag=""ThenMe.closeEndIf圖書館DataSet.書籍.Clear()Dimc1AsString="selecttop5*from書籍where類號='"&e.Button.Tag&"'"+"orderby日期desc"DimadAsNewSqlClient.SqlDataAdapter(c1,Me.書籍TableAdapter.Connection)ad.Fill(圖書館DataSet.書籍)If圖書館DataSet.書籍.Count>0ThenDataGrid1.CurrentRowIndex=0DataGrid1_CurrentCellChanged(sender,e)ElseMe.PictureBox1.Image=NothingMe.RichTextBox1.Text=""EndIf3、熱門排行榜窗體的設計制作熱門排行榜窗體的設計運行界面如圖20。為了實現(xiàn)窗體的功能,本窗體使用了圖書館數(shù)據(jù)庫中的分類表和書籍表,它的數(shù)據(jù)環(huán)境如圖19:圖19熱門排行榜窗體的數(shù)據(jù)環(huán)境圖20熱門排行榜窗體的運行界面窗體的各事件過程如下:窗體分類查詢書庫_Load()事件過程代碼為:Me.分類TableAdapter.Fill(Me.圖書館DataSet.分類)Me.書籍TableAdapter.Fill(Me.圖書館DataSet.書籍)ForiAsInteger=0To圖書館DataSet.分類.Rows.Count-1Me.ToolBar1.Buttons(i).Text=圖書館DataSet.分類(i).類名Me.ToolBar1.Buttons(i).Tag=圖書館DataSet.分類(i).類號Next圖書館DataSet.書籍.Clear()Dimc1AsString="selecttop5*from書籍where類號='01'orderby借次desc"DimadAsNewSqlClient.SqlDataAdapter(c1,Me.書籍TableAdapter.Connection)ad.Fill(圖書館DataSet.書籍)DataGrid1.CurrentRowIndex=0DataGrid1.CaptionText="文學小說類新書一覽表"DataGrid1_CurrentCellChanged(sender,e)數(shù)據(jù)表格DataGrid1_CurrentCellChanged()事件過程代碼為:Me.PictureBox1.Image=Image.FromFile(".\image\"+圖書館DataSet.書籍(DataGrid1.CurrentRowIndex).封面)Me.RichTextBox1.Text=圖書館DataSet.書籍(DataGrid1.CurrentRowIndex).簡介工具條ToolBar1_ButtonClick()事件過程代碼為:Ife.Button.Tag=""ThenMe.closeEndIf圖書館DataSet.書籍.Clear()Dimc1AsString="selecttop5*from書籍where類號='"&e.Button.Tag&"'orderby借次desc"DimadAsNewSqlClient.SqlDataAdapter(c1,Me.書籍TableAdapter.Connection)ad.Fill(圖書館DataSet.書籍)If圖書館DataSet.書籍.Count>0ThenDataGrid1.CurrentRowIndex=0DataGrid1_CurrentCellChanged(sender,e)ElseMe.PictureBox1.Image=NothingMe.RichTextBox1.Text=""EndIf書籍借閱管理模塊設計借書和還書是圖書館管理系統(tǒng)中的主要功能模塊。登錄成功后讀者可以點擊主菜單里相應的菜單項進入這兩個功能窗體。1、借書窗體的設計制作借書窗體的運行界面如下圖:圖21借書窗體的運行界面本窗體使用了圖書館數(shù)據(jù)庫中的分類表和書卡表,它的數(shù)據(jù)環(huán)境,如下圖:圖22熱門排行榜窗體的數(shù)據(jù)環(huán)境窗體的各事件過程如下:定義窗體級變量:DimnAsInteger=0窗體借書_Load()事件過程代碼為:Me.借書卡TableAdapter.Fill(Me.圖書館DataSet.借書卡)Me.分類TableAdapter.Fill(Me.圖書館DataSet.分類)Me.書籍TableAdapter.Fill(Me.圖書館DataSet.書籍)圖書館DataSet.借書卡.Clear()Dimc1AsString="select*from借書卡where讀者='"&xm&"'and實還日期='9999-12-31'"DimadAsNewSqlClient.SqlDataAdapter(c1,Me.書籍TableAdapter.Connection)ad.Fill(圖書館DataSet.借書卡)If圖書館DataSet.借書卡.Count>0ThenMsgBox("你還有書沒有還,請先還書后再借!"):Me.Close():ExitSubDataGrid2.DataSource=圖書館DataSet.借書卡ForiAsInteger=0To圖書館DataSet.分類.Count-1Me.ToolBar1.Buttons(i).Text=圖書館DataSet.分類(i).類名Me.ToolBar1.Buttons(i).Tag=圖書館DataSet.分類(i).類號Next圖書館DataSet.書籍.Clear()Dimc2AsString="select*from書籍where類號='"&Me.ToolBarButton1.Tag&"'"Dimad1AsNewSqlClient.SqlDataAdapter(c2,Me.書籍TableAdapter.Connection)ad1.Fill(圖書館DataSet.書籍)工具條ToolBar1_ButtonClick()事件過程代碼為:Ife.Button.Tag=""ThenMe.Close()EndIf圖書館DataSet.書籍.Clear()Dimc1AsString="select*from書籍where類號='"&e.Button.Tag&"'"DimadAsNewSqlClient.SqlDataAdapter(c1,Me.書籍TableAdapter.Connection)ad.Fill(圖書館DataSet.書籍)退出按鈕Button2_Click()事件過程代碼為:Me.Close()數(shù)據(jù)表格DataGrid1_CurrentCellChanged()事件過程代碼為:DimiAsInteger=DataGrid1.CurrentRowIndexIfi>0ThenMe.PictureBox1.Image=Image.FromFile(".\image\"+圖書館DataSet.書籍(DataGrid1.CurrentRowIndex).封面)Me.RichTextBox1.Text=圖書館DataSet.書籍(DataGrid1.CurrentRowIndex).簡介IfMe.RadioButton1.CheckedThenIfn=5ThenMsgBox("你已經(jīng)借滿5本書!"):ExitSub圖書館DataSet.借書卡.Add借書卡Row(xm,圖書館DataSet.書籍(i).類號,圖書館DataSet.書籍(i).書號,圖書館DataSet.書籍(i).書名,Today,Today.AddDays(30),"9999-12-31")n+=1ElseForjAsInteger=0To圖書館DataSet.書籍.Rows.Count-1If圖書館DataSet.書籍(j).書號=圖書館DataSet.借書卡(DataGrid2.CurrentRowIndex).書號Then圖書館DataSet.書籍(j).借次-=1Me.書籍TableAdapter.Update(圖書館DataSet.書籍)圖書館DataSet.書籍.AcceptChanges()ExitForEndIfNext圖書館DataSet.借書卡(DataGrid2.CurrentRowIndex).類號=圖書館DataSet.書籍(i).類號圖書館DataSet.借書卡(DataGrid2.CurrentRowIndex).書號=圖書館DataSet.書籍(i).書號圖書館DataSet.借書卡(DataGrid2.CurrentRowIndex).書名=圖書館DataSet.書籍(i).書名EndIfMe.借書卡TableAdapter.Update(圖書館DataSet.借書卡)圖書館DataSet.借書卡.AcceptChanges()DataGrid2.Refresh()圖書館DataSet.書籍(i).借次+=1Me.書籍TableAdapter.Update(圖書館DataSet.書籍)圖書館DataSet.書籍.AcceptChanges()EndIf2、還書窗體的設計制作還書窗體的設計界面如下圖:圖23還書窗體的設計界面本窗體使用了圖書館數(shù)據(jù)庫中的分類表和書卡表,它的數(shù)據(jù)環(huán)境,如下圖:圖24還書窗體的數(shù)據(jù)環(huán)境窗體的各事件過程如下:窗體還書_Load()事件過程代碼為:Me.借書卡TableAdapter.Fill(Me.圖書館DataSet.借書卡)圖書館DataSet.借書卡.Clear()Dimc1AsString="select*from借書卡where讀者='"+xm+"'and實還日期='9999-12-31'"DimadAsNewSqlClient.SqlDataAdapter(c1,Me.借書卡TableAdapter.Connection)ad.Fill(圖書館DataSet.借書卡)Label1.Text="歡迎"+xm.Trim+"前來還書"If圖書館DataSet.借書卡.Rows.Count=0ThenMsgBox("你沒有未歸還的書!"):Me.Cl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新課標小學語文“學習任務群”的教學思路
- 高中物理第十一章電路及其應用課時13串聯(lián)電路和并聯(lián)電路課件新人教版必修第三冊
- Windows Server網(wǎng)絡管理項目教程(Windows Server 2022)(微課版)5.5 拓展案例1:Web站點安全加固
- 全省小學數(shù)學教師賽課一等獎數(shù)學一年級上冊(人教2024年新編)《10的加、減法》課件
- 2014年腔體耦合器投資分析研究咨詢報告
- 2024至2030年中國整體式豆奶機行業(yè)投資前景及策略咨詢研究報告
- 2024至2030年中國成套污水處理機械設備數(shù)據(jù)監(jiān)測研究報告
- 2024至2030年中國家用縫紉機控制器拉桿行業(yè)投資前景及策略咨詢研究報告
- 高中物理第五章交變電流5電能的輸送課件新人教版選修3-
- 2024至2030年中國中頻整體退火設備行業(yè)投資前景及策略咨詢研究報告
- 人工智能時代高等院校教師信息素養(yǎng)提升研究
- 商家聯(lián)盟合作方案
- 《應用統(tǒng)計學》(第4版)-自測試卷及答案A卷
- 公司法課件(新員工)
- GB/T 10082-2024軌道車重型軌道車
- 房地產(chǎn)市場報告 -上海住房租賃市場月報(2024年9月)
- 考古與人類學習通超星期末考試答案章節(jié)答案2024年
- 2024年上海市標準房屋租賃合同經(jīng)典版(三篇)
- 八年級地理下冊 第六章 北方地區(qū) 第一節(jié) 自然特征與農(nóng)業(yè)說課稿2 (新版)新人教版
- 2024智能家居行業(yè)創(chuàng)新發(fā)展與前景展望研究報告
- 新目標藝術培訓中心商業(yè)策劃書(3篇)
評論
0/150
提交評論