第一篇:數據庫VFP教學體會(推薦)
數據庫VFP教學體會
數據庫應用具有如下兩個特點:
(1)數據庫的應用領域廣泛。應用計算機進行信息管理,絕大部分都要使用數據庫來進行數據信息的存儲,因此,在其他課程中,(如VB等)也都要用到一些數據庫的相關知識。
(2)數據庫的種類繁多,不同種類的數據庫還分別有不同的版本。但無論哪一種數據庫,他們的基本內容及應用原理是一致的,只不過在具體的實現過程中各有千秋。
通過以往計算機專業班的VFP教學,現對該課程進行了認真的分析,一方面分析了學生在以往的學習過程中常見問題的產生原因,一方面分析了教師在課堂教學過程中針對發現的問題該如何解決。
VFP作為數據庫的基礎課程,旨在讓學生通過學習,了解數據庫的基本原理及應用技術。更是一種用來進行管理信息系統開發的常用工具,是學生在校期間學習的一門重要基礎課程.由于VFP的特點與其它高級語言程序設計的特點不同,最明顯的區別在于數據庫程序設計的教學過程,從第一節課開始到最后一節課結束,都在講解同一個問題——如何把各種日常管理信息用計算機來進行管理。而這種形式的課程是學生以前從沒有接觸過的,他們還是帶著過去的學習方式來學習VFP數據庫程序設計的內容,以至于學生的學習目標不明確,不知道學完后能用它來做什么;在學習過程中,習慣性地把每節課的內容分散記憶,不能建立整體概念;每節課的內容學會并不難,但并不十分清楚那一節課的內容是整個管理系統的一個組成部分,在頭腦中很難建立起“系統開發”的整體概念。
分析上述問題產生的原因,總結了二點教學體會。
一、數據庫的教學重點應注重學生信息素養的培養
信息素養是指為了某種目的而尋找、處理和利用信息的能力,因此信息素養是一種非常重要的能力。依靠信息素養,人們能夠進行有效的決策、交流、問題求解和研究,并進行終身的持續學習。學生的信息素養應包括對信息科學的理解,對信息活用的實踐能力。在VFP課程的學習中,應特別重視學生實踐能力的培養,應特別重視學生以信息技術的方法解決實際問題能力的培養。
首先,在沒有開始講解課程內容之前,教師先給學生演示完整的、內容及應用領域不相同的管理系統實例(如:“學生管理系統”、“圖書管理系統”、“工資管理系統”“進銷存管理系統”等),通過演示及教師的講解,引導學生體會VFP的作用及應用領域,以及各管理系統的編程思維及各部分的相互聯系。然后讓學生親身體驗一下各管理系統的功能。讓學生真正體會到VFP強大的實用功能。通過對實例的實際操作后,學生們會對使用“ VFP數據庫程序設計”開發的信息管理系統產生感性認識,同時也會對VFP課程產生學習的興趣。此時,教師便可以進行正確的引導,闡明VFP課程學習與其他課程學習所有不同,它是一門連慣性的課程,并且各部分相互都有聯系,每一部分既是獨立的又與其它部分相呼應,比如數據庫中各數據表的建立及關鍵字段的設定與之后所建立的查詢都是有關聯的。需要從始至終來完成一個小型管理系統的制作。
其次,在VFP課堂教學過程中,始終堅持以“案例式”教學為主,適當結合其他教學方法來完成每一節課的教學。既把實例中整個“XXX信息管理系統”的分解結果,應用到每一節課的教學中之。在講解新課之前,首先給學生演示本節課將要制作的實例,讓學生對學習的內容有一個直觀的感性認識,邏輯思維的建立,然后引入新課內容。
最后,所有的基本內容講解之后,留出足夠的時間,由教師引導學生按照系統開發的標準步驟開發其他管理系統,讓學生清晰地學會系統開發的完整過程。
二、數據庫的教學應加強學生自主能力的培養
教學著重培養的是學生獲取信息的能力與自學能力、創新能力。在VFP的教學過程中應發揮學生的積極性、主動性和創造性。
1、教師要調整好與學生間的關系,突出學生的學習主體位置。把自己變成“一位合作伙伴”。讓他們在探究新知的過程中,暴露自己感知理解新知的矛盾和差異,把疑點和難點都擺在桌面上,再引導他們通過獨立思考,實現由感性認識到理性認識的轉化。例如:在學習“定時器”控件時時,先給學生展示一些內容幽默的動畫作品,激發學生的求知熱情,并讓學生回憶過去的內容:在VB中是如何實現動畫功能的?通過復習舊的知識,學生自主探究新的知識。
2、聯系實際是激發學生自主學習情感的前提。教學內容或教材主題要與學生的學習生活、社會生活密切相關,從中擴大眼界,促進使學生自主學習的興趣得到提升。例如:在進行“表單”教學時,可引導學生制作簡單的小游戲,然后將知識點轉移到數據庫設置當中。
3、在教學過程中應傾力培養學生自主學習的能力,使“任務式”升華為“自覺式”。指導學生提出問題,歸納知識。例如,教師在引導學生開發管理系統時,先讓學生分組找出自己感興趣的領域,然后寫出系統開發計劃書,最后小組合作完成整個系統的編制與調試。
4、給學生充分展現的機會,培養學生學習的自信心。例如:各組的管理系統開發完成后,以論文答辯的形式將成果展示給大家,以組為單位展示,小組成員是答辯者,其他學生是考核者。不僅鍛煉了學生的語言表達能力,還培養了學生科學的構建知識架構的能力。
第二篇:中職課堂“VFP數據庫應用基礎”教學反思
中職課堂“VFP數據庫應用基礎”
教學反思
漠河縣職業技術學校 塵威威
中職課堂“VFP數據庫應用基礎”教學反思
漠河縣職業技術學校 塵威威
在中職計算機應用專業教學中,數據庫應用教學是其中的重點和難點。在強調?以技能為核心,以就業為導向?的中職學校中,如何使文化基礎知識較為薄弱的學生對枯燥的VFP數據庫產生學習興趣,并能學以致用,是每位計算機專業教師努力追求的目標和任務。
結合我多年的教學經驗,針對VFP課程的特點,在教法上,我以?案例教學法?、?‘課機’結合式教學法?、?任務驅動教學法?為主開展課堂教學,教學效果比較明顯。但在?程序設計?這一章節的教學中,還是存在著兩大誤區:一是學生基礎較差,加之不愛動腦、動手,導致時間花得多,效果不理想;二是只重視程序設計的結果,忽視了其算法的多樣化,從而束縛了學生的思維創新。針對存在的兩大誤區和不理想的教學效果,引起了我深深的反思,如何突破這兩大誤區成了我的首要教學任務。于是,我認與同事研討,查找相關資料,將多種教法結合起來,通過實踐,逐步形成了一種?精講多練、小組互動、分層實施、機試為主?教學模式,從而達到了預期的教學效果。
現以do while …… end do循環控制命令的使用為例,將其教學片段簡介如下:
一、教學實例
探索循環結構的程序設計方法:
1.示例:用投影儀展示求1+2+3+4+…+100程序清單,讓學生對 照程序清單上機調試并思考。
附程序清單:clear sum=0 i=1 do while i<=100 sum=sum+i i=i+1 end do ??1+2+3+…+100=?,sum 師:同學們,你們能找出程序清單中有哪些變量?并說明它的作用嗎?
學生思考,隨后指名回答。教師板書:sum i
sum的作用是用于存儲所求的和(中間結果及最終結果),i的作用是用來存儲循環的值(即加數),同時控制循環執行的次數。
師:程序中的變量名可用其它的字母代替嗎?你能找出在循環體(命令序列)中用于控制循環趨于結束的命令嗎?
學生回答,教師板書:i=i+1 師:好,請同學們獨立思考此程序的循環次數? 全班回答:100次。
師:如何通過上機操作驗證其執行過程呢?(學生開展討論并上機操作驗證)生1:只須將輸出命令放到循環體中即可,即在?i=i+1?命令之后、?end do?之前插入??sum ,i?命令。(學生操作驗證)
生2:因為當前屏顯示不下,我們看到的僅僅是最后的幾次執行過程,對于以前的執行過程還是看不到,可將該題分段實施,即先求1+2+3+…+20的和。
師:很好。(鼓掌、同學們再操作驗證)
2.任務:四人一個小組開始活動,討論以下任務的設計,并上機操作,教師參與到學生的活動中。
任務一:求2+4+6+8+…+100的和 任務二:求1×2×3×4×5 不一會,各小組互動結束,請兩個組進行了回答如下: 小組甲:任務一與例題之間的區別是循環變量的初值為2,每循環一次循環變量增2即i=i+2。
小組乙:任務二在例題的基礎上將?sum=0?改為?sum=1?,循環變量的終值為5即條件改為i<=5,然后是循環體中的?sum=sum+i?改為?sum=sum*i?。
3.討論:同學們,在剛才所做的程序中,你能找出其規律嗎? 全班交流:
生1:循環變量從所賦的初值到終值按照一定的差進行變化,如求1+2+3+4+…時,其差為?1?進行的,求1+3+5+7+…時其差為?2?。
生2:(補充)循環變量在程序每執行一次時,就按照其連續相鄰的兩個值之間的差進行遞增變化。生3:用來存儲結果的變量sum,也有一定的特點,如在求和時可以賦?0?,在求積時只能賦?1?。
……
師:你們說得很好,尤其是循環變量的特點,它是我們進行循環結構程序設計的關鍵,也是一個難點,其理解的程度直接影響到我們程序設計成敗。但注意的是有時也可能發生遞減變化喲。
4.拓展:做一做,求1+2+3+…+n;1×2×3×4×…×n;n從鍵盤輸入。
做完后并思考:與上述程序設計題有何區別?有何意義 過了一會兒,大多數學生做完了,但還有部分學生沒有做完,就安排做完了的學生去指導未完成學生,幫助其操作,力爭所有的學生有所獲,有所得。
二、教學反思
VFP就是一個讓普通用戶方便利用可視化的設計工具和向導快速進行數據處理和程序設計的很好的軟件。其可深可淺,可難可易,綜合性很強。對VFP程序設計的教學,不再是重結果,輕過程,而是很好地駕馭教材內容,創造性地使用教材,巧妙組織,精心安排,靈活設計,給學生以耳目一新的感覺,教學效果非常明顯,主要體現了以下幾個方面:
1.程序設計關注的應該是程序設計的思維過程
本章節的教學,我跳出了認知技能的框框,不把程序設計的方法、操作技能的形成作為唯一的目標,而更關注學生的學習過程,讓學生 在自身實踐探索的過程中實現發展性領域目標。如教學時圍繞do while命令的使用為重點展開探索,通過相應的活動與任務提供自主學習的機會,給學生充分思考的空間和時間,允許并鼓勵他們有不同思維方法,尊重他們的想法,哪怕是不合理的,甚至是錯誤的,讓他們在相互交流、碰撞、討論中,進一步明確程序設計的基本方法。通過互助探究后,他們在不同的層面上得到提高,并掌握了解決相應的實際問題的能力。在此基礎上,教師組織學生對知識進一步拓展:如求?1+2+3+…+n?,達到程序設計的基本要求,那就是通用性、實用性。這樣的教學,學生獲得的不僅僅是程序設計的基本方法,更重要的是分析、處理問題的思維創新能力。
2.提倡思維方式、程序算法的多樣化,促進學生個性發展。學語言一般都是從基礎知識、概念和一些理論知識入手的,但中職學生的文化課底子薄,理解能力本來就差,如果一開始就講理論只能讓學生不知所措或對這門課提不起興趣。現在學校一般開設的數據庫課程都是VFP6.0版本的,它的可視化功能很強,我們在授課時,應充分利用這一特點,讓學生先從外觀上對這門課有個初步的認識和了解,理論知識可以在操作中邊講邊學的過程中穿插進去,改變一般教材的課程設臵。這樣學生是在操作使用中去掌握理論,會比較形象直觀一些;而后為了使用所建數據庫中的數據表,讓學生學習查詢、視圖、報表、菜單,學習完這些內容以后,再讓學后接觸SQL語言、程序設計基礎、表單。最后是綜合應用程序的開發,由易到難,由淺入深,可以循序漸進地將理論與實踐結合起來,達到教學目的和要求。思維方式、程序算法的多樣化,是指尊重學生的獨立思考,鼓勵學生探索不同的方法,而不是讓學生一定要去掌握多種操作方法。通過分層實施,學生分別達到了應會、熟練等不同程度。在學生進行程序設計時,學生中出現了多種形式不同的程序清單。有的是變量的初值不同,有的是在循環體中命令的先后位臵略有變化,有的是把輸出放在了循環體之中等等。在學生獨立思考解決的基礎上,再讓學生發表自己的見解、觀點,傾聽同伴的解法,進行小組內交流、爭論,從而達成一種共識。教師鼓勵學生用已有的經驗大膽思維,鼓勵學生動手上機操作,尋求解決問題的有效途徑,營造寬松活躍的課堂氣氛。算法的多樣化使學生變得聰明自信,在主動探索與合作交流中得到收獲,并促進學生的個性發展。
3.營造民主的氛圍,激發學生的創新思維
在程序設計過程中,不同的方法對同一個人也許有快慢之說,而對不同的人卻不存在優劣之分。在整個探索的過程中,我只是通過投影展示了一個例題,然后組織學生不斷地發表自己的想法,通過引導,鼓勵他們敢于爭論,完成對知識的構建,同時也要注意呵護每一位學生的學習激情,激發其創造力。
學生爭論不休的時刻,也正是他們在積極地參與整個學習活動,這正是組織教學的精華所在,同時也挖掘了學生潛在的創造力,從而也帶動了全班學生的積極參與,在?do while命令?使用的探索過程中,如驗證體會循環的執行過程時,一學生提出只要驗證?1+2+3+…+20?之和,又如求"1×2×3×4×5"時,一學生說它的sum初值不 能為?0?,只能為?1?時,全班學生都給了他熱烈的掌聲。我想他這種的見解總是在經過認真分析思考后得出來的。
4.教學方法多樣化,激發了學生學習的興趣
數據庫應用VFP是一門操作性很強的專業課程。為了讓學生學習有興趣,在舉例時應舉與學生有關的、學生經常用到的內容,比如建立數據庫,可以以學籍管理中的學籍表、成績表為例,這些表學生經常都在填寫使用,學生以自己的同學作為記錄去創建表、使用表,這樣一是提高了他們的學習興趣;二是在建表的過程中自動完成了對數據的收集、整理、錄入編輯工作,這樣在講數據處理時學生就不會難理解了。一個數據庫包含的數據表應至少是3張以上,這是為后面的建立表之間聯系和多工作區做準備,學籍管理中可以再添加一個圖書借閱表。
在VFP中使用的文件類型比較多,比如學籍管理庫,一旦建立就會同時自動生成同名的3個文件:學籍管理.DBC、學籍管理.DCT、學籍管理.DXT,在應用中只要3個文件少了一個,就會影響數據庫使用的質量。對其他文件也是一樣的,在操作中,學生們經常會丟失一些文件的備注文件致使原文件無法使用。所以一定要求學生及時對原數據文件做好備份。對學生自己的相關信息進行操作,學生學習興趣濃厚,在學習過程中出現了你追我趕的局面,學習氛圍非常好。講授的例子始終圍繞?學籍管理?這個具體實例來講解,前后具有連貫性,便于知識的鞏固和理解。
?課機?結合式教學法,在課堂中教師通過大屏幕液晶投影儀或 網絡教室講解知識,然后學生在下面操作學習,學生很容易跟著教師的步驟進行學習,掌握教師教給的內容,而且印象也較為深刻。如上述的示例部分。?任務驅動?教學法可合理組織學生自主學習,激發他們的興趣,讓他們盡快地活動起來,并通過自己的自學和同學的幫助來解決問題,在愉快的教學過程中掌握知識,如上述互動中的任務
一、任務二等。
5.實踐探索,進一步提高了學生的創造力
真理源于實踐,實踐出真知。在程序設計的教學中,通過邊講、邊練,先從理論上分析討論,找準理論依據,后通過上機操作驗證其正確性,最后再討論分析、交流程序設計的最佳方法,不僅訓練了學生的操作技能,同時也培養學生的創造能力。
總之在程序設計中,鼓勵積極思維、分層要求、反復操作驗證、達到程序算法多樣化是尊重學生的表現,體現了以學生為主體的教學原則,符合現代認知建構主義思想,是釋放學生自信心和創新思維、培養創造能力的有效途徑。
三、需進一步探索的問題
在程序設計教學時提倡?精講多練、小組互動、分層實施、機試為主?的教學模式,保障了學生在不同的層面得到發展,得到提高,同時也培養了學生的創新思維,體現理論與技能的雙豐收。但在對那些基礎較差、不愛動腦、動手的學生幫扶上,在分層互動、層次把握上,對教師的組織能力、對教材的分析駕馭能力提出了新的要求,要能真正把握住哪些是全班學生掌握的,哪些是部分(即提高)學生掌 握的,達到所有的學生在各自的水平上能?吃飽?。這些問題還需要我們在下一階段的教學中進一步的探索。
第三篇:《VFP數據庫程序設計》課程改革總結報告
課程改革
《VFP數據庫程序設計》課程改革總結報告
根據國家教委的統一規定,目前初、高中都開設了《信息技術》課程,只不過學習的深度和廣度不夠,且個別地區存在著一些差異。進入大學之后,如果再從頭學習這門課程,一方面是學生不感興趣,另一方面是無味地浪費時間。為了解決這樣的問題,我們計算機教研室于2004年5月大膽地提出對《VFP數據庫程序設計》課程進行改革。
為了進一步提高我校《VFP數據庫程序設計》課程的教學效率和教學質量,培養2004級學生的計算機素質和計算機學習能力,我們這學期首先對《VFP數據庫程序設計》課程之《計算機應用基礎》進行改革。目的是通過教學方法與教學手段的改革,一改以往分班授課的教學模式,完全依托網絡平臺,采用案例教學,提倡教師輔導與學生自主學習相結合的學習方法。
在改革中,我們主要做了以下一些工作:
一、采用先進的教學方法
《計算機應用基礎》是一門理論性、實踐性、技術性和操作性都比較強的課程。根據這門課程的特點,《計算機應用基礎》課程的教學必須改變落后的思想觀念,采用先進的教學方法。在長期實踐的探索中,《計算機應用基礎》課程的教學逐步由過去傳統的傳授式教學方法,到今天的多媒體式、案例式和實踐式的新穎教學方法。通過多媒體式、案例式的實踐教學,使學生在基礎理論學習的同時,增加了對計算機的感性認識,充分鍛煉了學生的分析能力和實際的應用能力,從而形成了良好的學習氛圍,不僅實現了分層次教學,而且還使一部分學員得到了充分展示自己才華的空間。
二、應用現代化的教學手段
《計算機應用基礎》課程教學采用了現代信息技術手段,應用多媒體技術進行課堂教學。到目前為止,我們已經研制出采用PowerPoint技術手段制作的應用于課堂教學的課件1套;采用Word技術手段制作的應用于課堂實訓教學的課件1套;同時,引進與教材同步的《計算機應用基礎》Authorware多媒體課件1套。隨著科技水平的不斷進步,這些課件在應用的實踐中得到了不斷的修改與完善,其質量也在不斷提高,受到了學生的普遍歡迎。目前所使用的《計算機應用基礎》課件使用效果理想,主要體現在以下五個重要方面:
第一,圖文并茂,形象直觀。《計算機應用基礎》課件在設計過程中采用豐富的靜態窗口和實際操作,配合文字以及教師視頻音頻講述等多種方式,使課件圖文并茂,生動活潑。對《計算機應用基礎》課程的內容力求以形象直觀的形式進行全方位的、比較深刻的表述與操作,這種做法目前在國內還是鮮見的,處于《計算機應用基礎》課程建設的領先地位。
第二,內容形式,完美結合。將相關的知識內容與一定的表達形式完美結合,使形式更好地表達內容,是《計算機應用基礎》課件在設計過程中一直特別注意的問題。課件是對教材內容的提煉與升華,絕不能搞成文字的堆砌,在可能的情況下,應采用一定的形式詮釋教材的內容,才能達到比較好的效果。該課件中有些表達形式是通過多方案的反復比較才最后確定的。
第三,通俗易懂,利于理解。《計算機應用基礎》課程是一門理論性和實踐性比較強的專業基礎課程,對于最初接觸這門課程的同學來說,又是比較難以理解的一門課程。學生通過老師的實際操作演示,可以把高深的理論通俗化,把抽象的問題形象化,把復雜的問題簡單化,更易于理解和掌握。
第四,活躍氣氛,增強興趣。采用多種學生喜聞樂見的方式進行課程內容的講述,能夠吸引學生自學和聽課的注意力,有利于增強學生的學習興趣。特別是在課件中的圖片和表格隨著課程內容進度自然而然地播放,能夠吸引學生的注意力,使其循著圖片和表格的演播步驟和老師講解問題的思路聚精會神的聽課。
第五,自主學習,方便使用。學生利用課件進行《計算機應用基礎》學習,不受時間(規定的上課時間)、空間(規定的上課地點)等條件的限制,根據自己的情況,可隨時通過上網或看光盤,自主進行《計算機應用基礎》知識的學習。
三、模塊化教學、輔導
按照《計算機應用基礎》教學大綱的具體內容,我們將20學時的課程平均分為五個模塊,即:計算機基礎知識模塊、Windows模塊、Word模塊、Excel模塊、PowrePoint模塊。在每個模塊中設置相關內容的實驗課,及時將教學內容同實踐聯系起來,避免了課堂教學和實踐操作相脫節,實現理論與實踐的 “零距離”。同時,也按五個模塊進行輔導,每個模塊4學時,效果甚佳。更值得一提的是:主講教師兼授課、試驗與一身,這樣可以根據學生在實驗課當中對所學知識的掌握情況,合理地定位、安排教學內容,充分體現重視具體操作能力的思想。
四、采用無紙化考試 在本學期末,利用我們自己開發的《計算機應用基礎考試系統Ⅱ》,對《VFP數據庫程序設計》之《計算機應用基礎》進行上機考試,考試完全在計算機上進行,真正實現了無紙化考試。(即:利用計算機自動抽取試卷、并判卷。)學生必須在期末考試一次性通過,否則不準參加第二學期的《VFP數據庫程序設計》的《VFP程序設計》課程。
五、網絡教學資源建設
《VFP數據庫程序設計》之《計算機應用基礎》課程的網絡教學資源建設已經初具規模,并完全發布于校園網上。
目前,我們是利用校園網來實現資源的共享。主講教師把與課程相關的課件、案例、實訓練習、考試系統等,發布到校園網上,然后學生們可以利用軟盤、U盤等進行復制,以便于進行課前預習或課后復習,實現師生資源共享,提高了學習效率。
由此可見,通過對《VFP數據庫程序設計》課程教學方法與教學手段的改革,不僅可以提高學生們對該課程的學習興趣,激發學生們的內在潛力,而且對培養學生們獨立分析問題和解決問題的能力,為走向公安工作崗位奠定了夯實的基礎。
綜上所述,我們認為2004級本科學生《VFP數據庫程序設計》課程改革是成功的。待批準后,將在2005級所有新學員中普及。
計算機基礎教研室 2004年11月25日
第四篇:VFP講稿(創建數據庫和表)
第二部分
數據庫的創建與單命令
創建數據庫和表
一、Visual FoxPro 6.0的配置
P28
二、項目及其管理器
P31
1.項目的概念
項目:是文件、數據、文檔和Visual FoxPro對象的集合,被保存為擴展名為PJX的文件。
建立項目可以對相關的內容(項目的各組成部分)進行統一組織、統一管理。
項目管理器:是Visual FoxPro中處理數據和對象的主要組織工具,是Visual FoxPro的“控制中心”。
項目管理器為其各個組成部分提供了一個組織良好的分層結構視圖。利用項目管理器,用戶可以創建、修改、移出或刪除文件。只要簡單地單擊鼠標,就可以跟蹤表和查詢,組織表單、報表、標簽、代碼、位圖和其它文件。
2.項目的創建
3.一個項目產生兩個文件.PJX和.PJT。4.打開/關閉項目 5.選項卡
三、Visual FoxPro 數據庫的基本操作
P93 1.建立數據庫
(1)在項目管理器中建立 *(2)從“新建”對話框中建立 *(3)用命令建立
P94(4)新建立的數據庫有三個文件
三個文件的擴展名分別是:dbc
dct
dcx ? dbc數據庫文件的擴展名 ? dct數據庫備注文件的擴展名 ? dcx數據庫索引文件的擴展名 2.打開和關閉數據庫(1)打開數據庫 有三種打開方法: ? 在項目管理器中打開 ? *從“打開”對話框中打開 ? *用命令打開
OPEN DATABASE命令
P95(2)關閉數據庫 CLOSE DATABASE 3.數據庫設計器
有三種打開方法: ? 在項目管理器中打開 ? *從“打開”對話框中打開 ? *用命令打開
MODIFY DATABASE命令
P98 4刪除數據庫
有兩種刪除方法: ? 在項目管理器中刪除 ? *用命令刪除
DELETE DATABASE命令
P99
四、數據庫表
1.建立數據庫表
P99(1)表設計器
(2)字段名:命名規則與內存變量的命名規則相同。可與內存變量同名。(3)字段類型和寬度(4)建立數據庫表產生的文件(5)字段有效性組框(6)用命令建立表
使用命令CREATE <表名> 有打開的數據庫時,建立的是數據庫表,否則建立的是自由表。2.修改表結構
P102(1)插入字段(2)刪除字段(3)修改字段
(4)用命令MODIFY STRUCTURE打開表設計器進行修改
五、自由表
如果當前沒有打開數據庫,創建的表是自由表。1.創建自由表。
2.自由表和數據庫表的異同。
自由表和數據庫表的設計器不同。*數據庫表有很多附加信息。3.將自由表添加到數據庫。4.從數據庫中移出表。
第五篇:vfp教學實例
第一課 編一個“心靈感應”小游戲
我們的課程從這個小游戲開始吧。一些名詞在這里不做解釋,廣大網友漫漫理解,或者自己去查一些資料,下面我就來介紹如何用Visual Foxpro 6.0來編制這個游戲。
1、在硬盤上建一個文件夾,例如D:DEMO。
2、啟動Visual Foxpro 6.0,選擇:“文件”——“新建”,出現“新建對話框”(圖示1-1),文件類型選“項目”,按“新建文件”按鈕,選擇項目文件名“demo”(自己隨便起名),保存在D:DEMO下(圖示1-2),按“保存”按鈕后,出現項目管理器,這樣一個項目就建成了,項目名就是“demo”以后的一切操作都在這個項目內。項目管理器由兩個文件組成,擴展名分別是“PJX”和“PJT”。(圖示1-3)在這個項目內可以建立數據庫、表單、程序、菜單等。
3、選擇“文檔”——“表單”,按“新建”按鈕。出現(圖示1-4)
4、按“新建表單”按鈕,出現(圖示1-5)。表單就是將來運行后出現的窗口或對話框,上圖就是一個表單。下面我們就在這個表單上創建心靈感應游戲。
5、在Form1的屬性(表單的屬性一般在創建一個新表單后自動出現,若沒有可右擊表單,選擇“屬性”即可)中選擇屬性Caption(標題)將默認值“Form1”改為“心靈感應”(圖示1-6),表單的標題就改為“心靈感應”。但表單的名字應叫“Form1”,要想更改請改屬性——Name。
6、在d:demo下新建一文件夾pic,存入一些需要的圖標、圖片等,在Form1的屬性中選擇屬性Icon的值為d:demopicmsgbox02.ico(圖示1-7)。雙擊“Icon”或點擊夾,選擇msgbox02.ico圖標,按“確定”按鈕。
按鈕,打開d:demopic文件
7、關閉表單設計器,出現(圖示1-8),按“是”,出現(圖示1-9),取文件名為xlgy,建一文件夾d:demoform將文件xlgy.scx保存到該文件夾里。則在項目管理器的表單中出現一個xlgy表單(圖示1-10)。(你也可以全部編完再保存)
8、選中xlgy表單,按“修改”鍵,又返回表單編輯狀態。調整表單窗口大小(可用鼠標拖拉),在表單控件工具欄的“圖象”圖標上點擊一下,在表單上拖出一個長方形,即圖片顯示區域,其picture屬性為d:demopicpkbm1.jpg(圖示1-11);
在表單控件工具欄選“標簽”圖標,在表單上的圖象下面拖出一個長方形,其capion屬性為“本程序可以感應你在想什么。”,字體大小fontsize為“16”,你也可以設定其他屬性,如:字體(fontname)、字體顏色(fontcolor)等;再建兩個按鈕“command1和command2”,其屬性caption分別為“開始”、“退出”。(圖示1-12)
9、雙擊“退出按鈕”,在click過程中輸入thisform.release或release thisform,意思為:當鼠標單擊“退出”按鈕時釋放表單。下面你可以按!圖標運行此表單,點擊“退出”按鈕,即可退出此表單。
10、下面我們要在“開始”按鈕的click過程中輸入一些命令,完成我們要做的工作。我們先做幾張圖片pk1.jpg(圖示1-13)、pk2.jpg(圖示14)、pkbm2.jpg(圖示15),在“開始”按鈕的click過程中輸入如下命令:
ThisForm.image1.picture='picpk1.jpg' &&將圖片換成pk1.jpg this.caption='繼續' &&將“開始”按鈕名改為“繼續”,因為在command1.click內,所以可用this代替thisform.command1 thisform.command2.enabled=.f.&&將“退出”按鈕設為不可用
thisform.label1.caption='請在上面的撲克牌中選一張,記在心里。按繼續鍵。' &&改變label1的內容
wait '' &&程序暫停,等你按任意鍵,“''”是兩個單引號,不能缺少.ThisForm.image1.picture='picpkbm1.jpg' thisform.label1.caption='請你默念三遍。按繼續鍵。' wait '' ThisForm.image1.picture='picpk2.jpg' thisform.label1.caption='我知道你記的是哪一張,我把它去掉了!' wait '' ThisForm.image1.picture='picpkbm2.jpg' thisform.label1.caption='' this.caption='再來一次' thisform.command2.enabled=.t.&&將“退出”按鈕設為可用 retu &&重新運行
注: &&...為程序注釋,它在程序運行時不執行。
11、到此為止,“心靈感應”就編完了,你可以運行此表單看看運行結果。
二:行程序或點擊菜單、按鈕等方法使它們運行。這一課,我將向大家介紹主菜單、快捷菜單和主程序。
一、主菜單的設計
1、在項目管理器中的“其它”中選中“菜單”,按“新建”按鈕,出現新建菜單選擇窗口(圖2-1);
按“菜單”按鈕,出現菜單編輯窗口,在“菜單名稱”中分別輸入“文件( 以上的六個菜單項中都有“<”,它的作用是建立一個熱鍵:Alt加“<”后面的第一個英文字母,在當前窗口按“Alt+F”打開“文件”菜單,相當于鼠標點擊。 2、點擊游戲菜單后的“創建”按鈕,編輯“游戲”的下一級菜單(圖2-3),在“心靈感應”中選擇“命令”,在命令框中輸入“do form xlgy”,作用是打開xlgy表單。在其后面還有一個選項,點擊選項按鈕出現選項對話框,使“鍵標簽”的文本框獲得焦點,按Ctrl+G(圖2-4)建立一個快捷鍵。快捷鍵與熱鍵不同,熱鍵只在當前窗口起作用,快捷鍵無論當前是什么窗口都起作用。例如:在主窗口中按 Ctrl+G,可以直接運行“心靈感應”表單,相當于用鼠標選擇菜單中的“游戲”,再選擇“心靈感應”。 3、反回到“菜單欄”,在“退出”的命令框中輸入clear event命令。 4、按“預覽”按鈕,可以預覽一下設計的菜單。 5、選擇“菜單”中的“生成”,(圖2-41) 出現圖2-42,按“是”按鈕,出現圖2-43,菜單名為:main,保存在d:demo下,出現圖2-44 按“生成”按鈕。菜單建好了,可以關閉菜單設計器了。 二、快捷菜單的設計 1、在項目管理器中的“其它”中選中“菜單”,按“新建”按鈕,出現新建菜單選擇窗口,按“快捷菜單”按鈕,建立快捷菜單yji.mnx:(圖2-5) 2、保存菜單yji.mnx,生成菜單程序文件yji.mpr,在以后的庫房管理軟件中會用到。 三、主程序設計 1、選擇“代碼”——“程序”,按“新建”按鈕,輸入如下程序: CLEAR SET EXCL ON SET TALK OFF SET MESSAGE ON SET CENT ON RELEASE WINDOW 常用 &&關閉常用窗口 PUBLIC MYPATH &&定義全局變量MYPATH MYPATH=LEFT(SYS(16),RAT(“",SYS(16)))&&提取當前路徑 SET DEFA TO(MYPATH)SET PATH TO data;form;pic &&指明路徑 _SCREEN.backcolor=iif(mod(day(date()),2)=0,rgb(80,230,210),rgb(70,140,180))&&設置屏幕背景顏色,單、雙號背景顏色不同 MODIFY WINDOW SCREEN TITLE ” xxx軟件 Ver x.x 作者:王永成 “+;” 今天是:“+dtoc(date())+” “+cdow(date())&&設置主窗口標題 _SCREEN.ICON=”..picmsgbox02.ico“ &&設置主窗口圖標 ZOOM WINDOW SCREEN MAX &&主窗口最大化 deactivate window ”項目管理器“ &&關閉項目管理器 do main.mpr &&運行主菜單程序 read event 2、保存主程序main.prg 3、右擊主程序,選擇“設置主文件”。 4、運行主程序看一看結果。 三:“猜數游戲”。 1、新建一表單csyx(圖3-1),表單的caption屬性為“猜數游戲”,背景顏色(BackColor)及各表單控件的字體顏色等,各位朋友可按個人的愛好選擇。 2、命令按鈕command1~command13的caption屬性分別為:“確定”,“退格”,“新一局”,“0”...“9”。 3、文本框Text1的FontSize為26;FontColor為250,250,0;BackColor為0,128,128;ContorlSource為ctet1(變量ctet1的值與text1的值相關聯)。 4、文本框Text2的FontColor為250,250,0;ContorlSource為jlun;BackStyle為“0-透明”;BorderStyle為“0-無”。 5、文本框t1~t10,zq1~zq10,cw1~cw10(name=t1...,zq1...,cw1...cw10),(controlsource=t1...),FontColor為250,250,0;BackStyle為“0-透明”;BorderStyle為“0-無”。 6、標簽Label1~Label3的caption屬性分別為:“選擇的數”,“位置正確”,“位置錯誤”。 7、標簽Label4的caption屬性為:=”說明:選擇4個數按確定鍵,在右側顯示這4位數有幾位數與你要猜的數位置相同,“+chr(13)+” 有幾位數包含在要猜的數中,但位置不同。根據以上提示猜出是哪4位數。“,其中chr(13)是一個回車換行命令,“=”和英文引號(單、雙都行)不能少;BackStyle為“0-透明”。 8、標簽L1~L10的caption屬性分別為:“第一次”...“第十次”;BackStyle為“0-透明”。 9、表面工作做完了,下面我們來輸入一些命令(程序),雙擊表單出現表單過程編輯框,在Init過程中輸入如下命令: public ctx1,ctx2,ctx3,ctx4,ctet1,ctet2,n,zq,cw,p &&設置全局變量 zq=0 &&設置初始值 cw=0 ctet1='' ctet2='' n=0 thisform.command3.click()&&執行命令按鈕(command3)的click過程,相當于點擊”新一局“按鈕。 10、雙擊按鈕“0”(command4),在其click過程中輸入如下命令: ctet2='0' do panduan &&執行panduan.prg程序 thisform.refresh 11、按鈕“1”~“9”的click過程中的命令與按鈕“0”的click過程中的命令的不同之處就是ctet2的值,即ctet2='1'...ctet2='9'。 12、因為在按鈕“0”~“9”的click過程中都執行一些相同的命令,所以我們把這些命令提出來,作為一個程序來調用(也可以在表單中創建一個方法程序,請參見第九課),可以簡化程序的設計。選擇“代碼”——“程序”按“新建”按鈕,新建程序panduan.prg: if len(allt(ctet1))<>4 &&判斷text1的值的長度,如果不是4位,執行下面的命令.if!ctet2$ctet1 &&判斷按下的按鈕的數值是否已被選過,若所選的數不包涵在已選的數值內.ctet1=ctet1+ctet2 &&把選定的數加在后面.endif endif 13、雙擊按鈕“確定”(command1),在其click過程中輸入如下命令: zq=0 &&正確值zq=0 cw=0 &&錯誤值cw=0 if len(allt(ctet1))<>4 &&如果text1的值不是4 位 wait window at 16,25 ”數據不夠4 位“ &&提示 return &&返回 endif p=p+1 if ctx1$ctet1 &&判斷cte1值是否在所選定的4位數中.(ctet1及ctet2、ctet3、ctet4的值是在表單運行時或點擊了“新一局”按鈕時機器隨機產生的4位數值。) if ctx1=substr(ctet1,1,1)zq=zq+1 else cw=cw+1 endif endif if ctx2$ctet1 if ctx2=substr(ctet1,2,1)zq=zq+1 else cw=cw+1 endif endif if ctx3$ctet1 if ctx3=substr(ctet1,3,1)zq=zq+1 else cw=cw+1 endif endif if ctx4$ctet1 if ctx4=substr(ctet1,4,1)zq=zq+1 else cw=cw+1 endif endif do case case p=1 thisform.l1.visible=.t.thisform.t1.visible=.t.thisform.zq1.visible=.t.thisform.cw1.visible=.t.t1=ctet1 zq1=zq cw1=cw if zq=4 jlun=”你真能蒙!“ endif case p=2 thisform.l2.visible=.t.thisform.t2.visible=.t.thisform.zq2.visible=.t.thisform.cw2.visible=.t.t2=ctet1 zq2=zq cw2=cw if zq=4 jlun=”太棒了,你真能蒙!“ endif case p=3 thisform.l3.visible=.t.thisform.t3.visible=.t.thisform.zq3.visible=.t.thisform.cw3.visible=.t.t3=ctet1 zq3=zq cw3=cw if zq=4 jlun=”太棒了,蒙的吧?!“ endif case p=4 thisform.l4.visible=.t.thisform.t4.visible=.t.thisform.zq4.visible=.t.thisform.cw4.visible=.t.t4=ctet1 zq4=zq cw4=cw if zq=4 jlun=”太棒了,您是教授嗎?“ endif case p=5 thisform.l5.visible=.t.thisform.t5.visible=.t.thisform.zq5.visible=.t.thisform.cw5.visible=.t.t5=ctet1 zq5=zq cw5=cw if zq=4 jlun=”大學生水平,很可以!“ endif case p=6 thisform.l6.visible=.t.thisform.t6.visible=.t.thisform.zq6.visible=.t.thisform.cw6.visible=.t.t6=ctet1 zq6=zq cw6=cw if zq=4 jlun=”智商不低嗎!“ endif case p=7 thisform.l7.visible=.t.thisform.t7.visible=.t.thisform.zq7.visible=.t.thisform.cw7.visible=.t.t7=ctet1 zq7=zq cw7=cw if zq=4 jlun=”還算可以,要努力呀!“ endif case p=8 thisform.l8.visible=.t.thisform.t8.visible=.t.thisform.zq8.visible=.t.thisform.cw8.visible=.t.t8=ctet1 zq8=zq cw8=cw if zq=4 jlun=”一般人到這兒都能找到!“ endif case p=9 thisform.l9.visible=.t.thisform.t9.visible=.t.thisform.zq9.visible=.t.thisform.cw9.visible=.t.t9=ctet1 zq9=zq cw9=cw if zq=4 jlun=”太一般了!“ endif case p=10 thisform.l10.visible=.t.thisform.t10.visible=.t.thisform.zq10.visible=.t.thisform.cw10.visible=.t.t10=ctet1 zq10=zq cw10=cw if zq=4 jlun=”到現在才早找出來?!智商有問題!“ else jlun=”智商太低了,再來一次?“ endif endcase ctet1=”“ thisform.refresh 14、雙擊按鈕“新一局”(command3),在其click過程中輸入如下命令: jlun=”“ thisform.l1.visible=.f.thisform.t1.visible=.f.thisform.zq1.visible=.f.thisform.cw1.visible=.f.thisform.l10.visible=.f.thisform.t10.visible=.f.thisform.zq10.visible=.f.thisform.cw10.visible=.f.thisform.l2.visible=.f.thisform.t2.visible=.f.thisform.zq2.visible=.f.thisform.cw2.visible=.f.thisform.l3.visible=.f.thisform.t3.visible=.f.thisform.zq3.visible=.f.thisform.cw3.visible=.f.thisform.l4.visible=.f.thisform.t4.visible=.f.thisform.zq4.visible=.f.thisform.cw4.visible=.f.thisform.l5.visible=.f.thisform.t5.visible=.f.thisform.zq5.visible=.f.thisform.cw5.visible=.f.thisform.l6.visible=.f.thisform.t6.visible=.f.thisform.zq6.visible=.f.thisform.cw6.visible=.f.thisform.l7.visible=.f.thisform.t7.visible=.f.thisform.zq7.visible=.f.thisform.cw7.visible=.f.thisform.l8.visible=.f.thisform.t8.visible=.f.thisform.zq8.visible=.f.thisform.cw8.visible=.f.thisform.l9.visible=.f.thisform.t9.visible=.f.thisform.zq9.visible=.f.thisform.cw9.visible=.f.p=0 ctext='1234567890' for i=1 to 4 n=11-i cn1=rand()cn=int(cn1*n)+1 if cn=0 cn=1 endif txx='ctx'+allt(str(i))&txx=substr(ctext,cn,1)if cn=1 ctext1=right(ctext,(10-i))else if cn=11-i ctext1=left(ctext,(10-i))else ctext1=left(ctext,cn-1)+right(ctext,(11-i-cn))endif endif ctext=ctext1 endfor thisform.text1.value=”" thisform.refresh 15、雙擊按鈕“退格”(command2),在其click過程中輸入如下命令: if len(allt(ctet1))<>0 &&長度不為0 ctet1=left(ctet1,len(allt(ctet1))-1)&&刪除后面的一為數 endif thisform.refresh 16、修改主菜單,在“游戲”的猜數游戲后填加命令:do form csyx,別忘了生成程序文件。 17、因為表單和程序不在同一目錄下,所以單獨運行表單會出現找不到某程序的錯誤,我們需要運行主程序main.prg,來看看運行結果。