PowerBuilder論文_第1頁
PowerBuilder論文_第2頁
PowerBuilder論文_第3頁
PowerBuilder論文_第4頁
PowerBuilder論文_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、 學(xué)院:信息科學(xué)與工程學(xué)院 年級:2013級計(jì)科3班 姓名:李新文 學(xué)號:201390494 專業(yè):powerburlder1 系統(tǒng)需求分析1.1 系統(tǒng)功能分析(1)專業(yè)信息管理學(xué)生信息管理系統(tǒng)是面向?qū)W校的,必定會涉及到專業(yè)信息,所以專業(yè)信息管理是不可缺少的. (2)班級信息管理班級編號應(yīng)與專業(yè)一樣,包含院、系信息,但它還有年級之分。另外,同一年級、相同專業(yè)的班級可能有多個(gè).表1.2 班級表字段名稱數(shù)據(jù)類型字段長度是否為空約束關(guān)系班級編號字符數(shù)據(jù)char字符長度為7,即表示班級編號用七個(gè)字符表示不可為空在此數(shù)據(jù)表中代表唯一性的列或列的組合,沒有則不允許輸入數(shù)據(jù)。班級名稱可變長度的字符類型ver

2、char字符長度為40, 不可為空學(xué)生一般屬于哪個(gè)班級,因此學(xué)生的學(xué)號中應(yīng)包含班級編號。表1.3學(xué)生表字段名稱數(shù)據(jù)類型字段長度是否為空約束關(guān)系學(xué)號字符數(shù)據(jù)char9表示學(xué)號用九個(gè)字符表示,不空沒有不允許輸入姓名可變長度的字符類型verchar8個(gè)字符來顯示姓名, 不空出生日期R日期型數(shù)據(jù)date可空(4)課程信息管理課程表本來應(yīng)該從教學(xué)計(jì)劃中演化而來,與專業(yè)、班級、學(xué)期等有關(guān), 表1.4課程表字段名稱數(shù)據(jù)類型字段長度是否為空約束關(guān)系課程編號SMALLINT 數(shù)據(jù)類型是一種精確數(shù)值數(shù)據(jù)類型, 課程編號用16位的整型smallint來表示編號。不空在此數(shù)據(jù)表中代表唯一性的列。課程名稱可變長度的字符

3、類型verchar50個(gè)字符來顯示課程名稱可以滿足要求。不空(5)學(xué)生成績管理成績表與學(xué)生和課程有關(guān),即表達(dá)了哪個(gè)學(xué)生、哪門課程考了多少分,若復(fù)雜一點(diǎn),還需分考查還是考試 表1.5成績表字段名稱數(shù)據(jù)類型 字段長度是否為空約束關(guān)系學(xué)生學(xué)號字符數(shù)據(jù)char學(xué)生學(xué)號中需要表示院系專業(yè)和班級等,用9位字符數(shù)據(jù)即可不空沒有則不允許輸入數(shù)據(jù)。2.1 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì) (1)課程表這里為了方便,簡化了系統(tǒng)設(shè)計(jì),將課程表獨(dú)立于專業(yè)、班級和學(xué)期的一張簡單表, 表2.2 course字段名數(shù)據(jù)類型說明主鍵外鍵 NullIdxSmlliint課程說明是NoNameVarchar(50)課程名稱No(2)班級表班級

4、的編號應(yīng)與專業(yè)一樣,包含院、系信息,但有年級之分,還有班級之分,所以要注意數(shù)據(jù)的字符長度。表2.3 class列名數(shù)據(jù)類型說明主鍵外鍵NullIdxChar(7)班級編號是NonameVarchar(40)班級名稱No(3)學(xué)生表為了簡化設(shè)計(jì),采用了現(xiàn)在這樣的浪費(fèi)方式。還要注意主鍵和外鍵的設(shè)立和數(shù)據(jù)的長度問題表2.4 Student列名數(shù)據(jù)類型說明主鍵外鍵NullIdxChar(9)學(xué)號是NoNameVarchar(8)姓名NoBirthdayDate出生年月AddressVarchar(60)家庭住址(4)成績表成績表的主鍵由學(xué)號和課程編號聯(lián)合來表示,因?yàn)橹挥袑W(xué)號和課程編號聯(lián)合,才能準(zhǔn)確表達(dá)

5、哪個(gè)學(xué)生哪門課考了多少分。因此前兩項(xiàng)均要設(shè)為主鍵, 表2.5 Score列名數(shù)據(jù)類型說明主鍵外鍵NullStudent_idxChar(9)學(xué)生學(xué)號是Fk_sco與student表的idx關(guān)聯(lián)NoscoreNumeric(4,1)分?jǐn)?shù)2.2 數(shù)據(jù)庫的創(chuàng)建2.2.1 創(chuàng)建數(shù)據(jù)庫點(diǎn)擊打開數(shù)據(jù)庫畫板,其中的object視圖然后點(diǎn)擊ODB ODBC->Utilities->Create ASA Database,2.2.2檢查powerbuilder環(huán)境是否已連接上數(shù)據(jù)庫點(diǎn)擊打開數(shù)據(jù)庫畫板,看到student上面已經(jīng)有了對號的符號,說明數(shù)據(jù)庫已經(jīng)連接成功。圖3.3 powerBuilder

6、 環(huán)境通過ODBC與數(shù)據(jù)庫Student數(shù)據(jù)庫連接2.2.3 數(shù)據(jù)的輸入(1)創(chuàng)建主鍵右擊表名,選【newprimary key】,出現(xiàn)主鍵設(shè)置視圖,分別按表的設(shè)計(jì)在“columns”框中選中設(shè)置,按【save】圖標(biāo)保存。(2)創(chuàng)建索引 右擊表名,選【newindex】,出現(xiàn)索引設(shè)置視圖,在“Columns”框中選擇合適的列作為索引列。按【save】圖標(biāo)保存。(3)創(chuàng)建外鍵右擊所需創(chuàng)建外鍵表名,選【newforeign key】,在出現(xiàn)的外鍵設(shè)置視圖,在“general”標(biāo)簽的“columns”框中選中需要創(chuàng)建外鍵的列,并在“foreign key”框中起一個(gè)外鍵名,再“primary key

7、”標(biāo)簽卡的“table”下拉列表框中選擇關(guān)聯(lián)表,并在“columns”框中選中關(guān)聯(lián)表的關(guān)聯(lián)列,設(shè)置完畢,按【save】圖標(biāo)保存.3 應(yīng)用程序框架設(shè)計(jì)3.1 主窗口的創(chuàng)建步驟:選擇工具條中的【new】,在“PB Object”里選擇Window項(xiàng),保存為w_main。在應(yīng)用對象設(shè)計(jì)畫板中左下角的腳本編輯視圖中選擇Open事件。添加打開主窗口的代碼.3.2主菜單的創(chuàng)建學(xué)生信息管理系統(tǒng)主菜單的創(chuàng)建步驟如下:首先按工具條中【new】鍵,選擇Pb Object中的Menu圖標(biāo)建立,保存為m_main。4 系統(tǒng)各模塊的設(shè)計(jì)4.1 創(chuàng)建學(xué)生課程信息顯示窗口5.1的學(xué)生信息顯示窗口的設(shè)計(jì),用于顯示學(xué)生所學(xué)的課

8、程信息。4.2創(chuàng)建學(xué)生專業(yè)顯示信息窗口用于顯示學(xué)生所學(xué)的課程信息。4.3 同步學(xué)生信息主細(xì)目數(shù)據(jù)窗口的建立步驟:(1)利用數(shù)據(jù)窗口創(chuàng)建向?qū)Ы⒁粋€(gè)包含學(xué)生所有信息的Freeform風(fēng)格的數(shù)據(jù)窗口對象,命名為dw_student_detail,并調(diào)整數(shù)據(jù)窗口中控件的排列。 (2)創(chuàng)建一個(gè)child!類型的窗口cw_student_info,在該窗口中分左右同時(shí)兩個(gè)數(shù)據(jù)窗口控件,左邊的控件與dw_student_list關(guān)聯(lián),右邊的控件與dw_student_detail關(guān)聯(lián)。再在主菜單m_main的第四章創(chuàng)建“學(xué)生信息主細(xì)目顯示窗口”菜單項(xiàng),用來打開該窗口。 (3)為了使左右信息同步起來,要在一

9、個(gè)數(shù)據(jù)窗口的RowFocusChanged事件,因此只要在一個(gè)數(shù)據(jù)窗口的RowFocusChanged 事件中用ScrollToRow()函數(shù)編寫腳本,使另一個(gè)數(shù)據(jù)窗口的記錄翻到相同位置即可,反之亦然。4.4 創(chuàng)建學(xué)生成績登記窗口。步驟:(1)創(chuàng)建用于課程選擇的Tabular顯示風(fēng)格的數(shù)據(jù)窗口對象dw_course_list:選用idx和name列。(2)創(chuàng)建用于成績登記的數(shù)據(jù)窗口對象dw_score(3)創(chuàng)建一個(gè)Title為“成績登記窗口”、類型為child!的窗口(4)向窗口中插入如圖所示的控件。并添加相應(yīng)的代碼。程序源代碼源代碼: string is_enteruserid,is_ent

10、erpasswordis_enteruserid=sle_userid.textis_enterpassword=sle_password.textif isnull(is_enteruserid) or len(is_enteruserid)=0 then messagebox(" 錯(cuò)誤信息","用戶號不能為空!") sle_userid.setfocus() return GI_failedend ifif ds_user.retrieve(integer(is_enteruserid)<0 then messagebox("錯(cuò)誤信息

11、","輸入的用戶不存在!") sle_userid.setfocus() return GI_FAILEDend ifgs_userid=ds_user.getitemnumber(1,"name")gs_username=ds_user.getitemstring(1,"name")gs_password=ds_user.getitemstring(1,"password")gs_userlevel=ds_user.getitemnumber(1,"level")gs_rights=

12、ds_user.getitemnumber(1,"right")if isnull(is_enterpassword)then is_enterpassword=""if isnull(gs_password) then gs_password=""if is_enterpassword<>gs_password then ii_entertimes+ if ii_entertimes>=3 then messagebox(" 錯(cuò)誤信息","連續(xù)三次輸入錯(cuò)誤,退出!") hal

13、t else messagebox("錯(cuò)誤信息","輸入的用戶密碼不正確!") sle_password.setfocus() return GI_FAILED end ifelse ib_islogined=true close(parent)end if3.學(xué)生成績登記窗口中為窗口和控件編寫的腳本:int i,iclasscountdatastore ds_classiddw_2.visible=falsedw_3.visible=falsedw_1.settransobject(sqlca)dw_2.settransobject(sqlca)dw_

14、2.retrieve()dw_3.settransobject(sqlca)dw_3.retrieve()for i=1 to dw_2.rowcount()ddlb_1.additem(dw_2.getitemstring(i,"name")nextds_classid=create datastoreds_classid.dataobject="dw_class_list"ds_classid.settransobject(sqlca)iclasscount=ds_classid.retrieve()for i=1 to iclasscount ddlb_2.addi

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論