2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩84頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  學(xué) 生 選 課 管 理 系 統(tǒng)</p><p><b>  設(shè)</b></p><p><b>  計(jì)</b></p><p><b>  報(bào)</b></p><p><b>  告</b></p><p> 

2、 課題:學(xué)生選課管理系統(tǒng)</p><p><b>  一.概要分析</b></p><p>  數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式。</p><p>  1.數(shù)據(jù)庫(kù)設(shè)計(jì)的目標(biāo)</p><p>  目標(biāo)是在DBMS支持下,按照應(yīng)用的要求,為某一應(yīng)用設(shè)計(jì)一個(gè)結(jié)構(gòu)合理、使用方便、效率較高的數(shù)據(jù)庫(kù)及其應(yīng)用

3、系統(tǒng)。</p><p>  2.數(shù)據(jù)庫(kù)設(shè)計(jì)的特點(diǎn)</p><p>  ·數(shù)據(jù)庫(kù)建設(shè)是硬件、軟件和干件的結(jié)合。</p><p>  ·數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程是結(jié)構(gòu)設(shè)計(jì)和行為設(shè)計(jì)的密切結(jié)合。</p><p>  3.數(shù)據(jù)庫(kù)設(shè)計(jì)的過(guò)程</p><p>  需求分析階段:可行性分析報(bào)告</p><

4、;p>  系統(tǒng)需求 用戶的需求具體體現(xiàn)在選課信息和用戶信息的提供、保存、更新和查詢的方面。這就要求數(shù)據(jù)庫(kù)的設(shè)計(jì)必須合理,使之能夠充分滿足各種信息的輸入和輸出,保證數(shù)據(jù)存儲(chǔ)的可靠性,并且能夠快速取出和存入。而前臺(tái)顯示部分,應(yīng)具有人性化的界面,方便用戶操作。</p><p><b>  功能需求</b></p><p>  概念模型設(shè)計(jì)階段:ER模型</p

5、><p><b>  局部概念模式設(shè)計(jì)</b></p><p><b>  步驟:</b></p><p>  ·選擇局部應(yīng)用:選擇一個(gè)適當(dāng)層次的數(shù)據(jù)流圖。</p><p>  ·逐一設(shè)計(jì)局部ER模型:定義實(shí)體、聯(lián)系、分配屬性、確定實(shí)體標(biāo)識(shí)符。</p><p>

6、;<b>  全局概念模式設(shè)計(jì)</b></p><p><b>  步驟:</b></p><p>  ·合并:集成為一個(gè)整體的數(shù)據(jù)概念模型即全局ER模型。</p><p>  ·消除沖突:屬性沖突、命名沖突、結(jié)構(gòu)沖突。</p><p><b>  優(yōu)化</b&g

7、t;</p><p>  ·消除冗余:合并相關(guān)類型實(shí)體,消除冗余屬性、冗余聯(lián)系。</p><p>  ·消除冗余的方法:數(shù)據(jù)字典中數(shù)據(jù)項(xiàng)間邏輯關(guān)系的說(shuō)明,規(guī)范化理論。</p><p>  邏輯模型設(shè)計(jì)階段:關(guān)系模型</p><p>  ER模型向關(guān)系模型的轉(zhuǎn)換 </p><p>  學(xué)生

8、(學(xué)號(hào),姓名,性別,班級(jí),出生日期,地址,電話,email)</p><p>  課程(課程號(hào),課程名 ,學(xué)分) </p><p>  選課(課程號(hào),學(xué)號(hào),成績(jī))</p><p>  數(shù)據(jù)模型的優(yōu)化和規(guī)范處理</p><p>  數(shù)據(jù)庫(kù)物理設(shè)計(jì)階段:數(shù)據(jù)庫(kù)</p><p>  數(shù)據(jù)庫(kù)實(shí)施階段:程序調(diào)試</p>

9、;<p>  數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段:程序運(yùn)行</p><p><b>  二.?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  使用工具:SQL Server 2000</p><p>  目的要求:掌握SQL Server 2000數(shù)據(jù)庫(kù)、表的創(chuàng)建</p><p><b>  操作步驟:</b>

10、;</p><p><b>  1.建立數(shù)據(jù)庫(kù)</b></p><p>  啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)管理器。</p><p><b>  啟動(dòng)企業(yè)管理器。</b></p><p>  以登錄賬戶sa注冊(cè)數(shù)據(jù)庫(kù)服務(wù)器“59.74.104.180”,密碼為sa。</p><p>  使用S

11、QL-EM:SQL-EM→數(shù)據(jù)庫(kù)→右鍵→新建數(shù)據(jù)庫(kù):數(shù)據(jù)庫(kù)名xx1420,設(shè)計(jì)數(shù)據(jù)庫(kù)文件 .MDF和 .ndf 文件</p><p><b>  2.建立表結(jié)構(gòu)</b></p><p>  啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)管理器。</p><p><b>  啟動(dòng)企業(yè)管理器。</b></p><p>  以登

12、錄賬戶sa注冊(cè)數(shù)據(jù)庫(kù)服務(wù)器“59.74.104.180”,密碼為zzj。</p><p>  在“xx1420”數(shù)據(jù)庫(kù)中創(chuàng)建學(xué)生表,表名為“xx1420_29_s”,包括列:sno、char(4),class、char(20),sname、char(8),sex、char(2),birthday、datatime,address、varchar(50),telephone、char(20),email、char(

13、40)。其中,sno為主鍵,要求class、sname非空,sex默認(rèn)值為“男”,email惟一完整性約束。</p><p>  在“xx1420”數(shù)據(jù)庫(kù)中創(chuàng)建課程表,表名為“xx1420_29_c”,包括列:cno、char(4),cname、char(20),credit、tinyint。其中,cno為主鍵。</p><p>  在“xx1420”數(shù)據(jù)庫(kù)中創(chuàng)建選課表,表名為“xx142

14、0_29_sc”,包括列:sno、char(4),cno、char(4),score、smallint。其中,sno、cno為主鍵。</p><p>  在“xx1420”數(shù)據(jù)庫(kù)中創(chuàng)建選課表,表名為“xx1420_29_u”,包括列:uno、char(10),uname、char(10),password、char(6),u、tinyint,s、tinyint,c、tinyint,sc、tinyint。其中,sn

15、o、cno為主鍵。</p><p>  在“xx1420”數(shù)據(jù)庫(kù)中創(chuàng)建選課表,表名為“xx1420_29_tj”,包括列:cno、char(4),fsd、char(10),rs、smallint。其中,sno、cno為主鍵。</p><p>  新建數(shù)據(jù)庫(kù)關(guān)系圖,指定選課表sno為外鍵參照學(xué)生表的sno,指定選課表cno為外鍵參照課程表的cno,數(shù)據(jù)庫(kù)關(guān)系圖名要求為“xx1420_29”。

16、</p><p>  啟動(dòng)查詢分析器,使用insert語(yǔ)句將表s、c、sc中的數(shù)據(jù)分別插入表“xx1420_29_s”、“xx1420_29_c”、“xx1420_29_sc”。</p><p>  SELECT * FROM s INTO xx1420_29_s</p><p>  SELECT * FROM c INTO xx1420_29_c</p>

17、;<p>  SELECT * FROM sc INTO xx1420_29_sc</p><p>  創(chuàng)建登錄賬戶“xx1420_29”,密碼自行設(shè)定。</p><p>  將登錄賬戶“xx1420_29”指定為“xx1420”數(shù)據(jù)庫(kù)用戶。</p><p>  設(shè)置數(shù)據(jù)庫(kù)用戶“xx1420_29”對(duì)表“xx1420_29_s”、“xx1420_29_

18、c”、“xx1420_29_sc”的select、insert、delete、update權(quán)限。</p><p>  刪除注冊(cè)的數(shù)據(jù)庫(kù)服務(wù)器,以登錄賬戶“xx1420_29”注冊(cè)數(shù)據(jù)庫(kù)服務(wù)器,測(cè)試其權(quán)限。</p><p><b>  三.軟件設(shè)計(jì)</b></p><p>  使用工具:PowerBuilder 9.0</p>&l

19、t;p>  目的要求:掌握PowerScript程序設(shè)計(jì)方法</p><p><b>  操作步驟:</b></p><p>  1. 創(chuàng)建應(yīng)用程序并連接數(shù)據(jù)庫(kù)</p><p>  啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)管理器。</p><p><b>  注冊(cè)數(shù)據(jù)庫(kù)服務(wù)器:</b></p><p

20、>  服務(wù)器名 59.74.104.180</p><p>  用戶名 sa 密碼 sa</p><p>  啟動(dòng)PowerBuilder 9.0</p><p>  開(kāi)始→程序→Sybase→PowerBuilder 9.0→PowerBuilder 9.0</p><p>  創(chuàng)建工作區(qū),工作區(qū)名為“xx1420

21、_29” </p><p>  File→New→Workspace:xx1420_29</p><p>  創(chuàng)建應(yīng)用對(duì)象、應(yīng)用庫(kù)和目標(biāo),應(yīng)用對(duì)象、應(yīng)用庫(kù)及目標(biāo)名均為“xx1420_29”,并存放在D盤“xx1420_29”文件夾中。</p><p>  工作區(qū)→右鍵→New→Target→Application:應(yīng)用對(duì)象名xx1420_29、目標(biāo)名xx1420_2

22、9、應(yīng)用庫(kù)名xx1420_29</p><p><b>  創(chuàng)建數(shù)據(jù)庫(kù)配置。</b></p><p><b>  連接數(shù)據(jù)庫(kù)服務(wù)器。</b></p><p>  將數(shù)據(jù)庫(kù)配置代碼復(fù)制到應(yīng)用對(duì)象Open事件中。</p><p>  Profile Name→右鍵→Properties→Preview:

23、copy</p><p>  應(yīng)用對(duì)象名→右鍵→Edit→open事件:Ctrl+V</p><p>  然后使用嵌入式SQL語(yǔ)句CONNECT建立連接,書寫腳本:</p><p>  connect using sqlca;</p><p>  if sqlca.sqlcode=-1 then</p><p>  m

24、essagebox(”xx1420_29警告”,”連接失敗!”)</p><p><b>  return</b></p><p><b>  else</b></p><p>  messagebox(”xx1420_29提示”,”連接成功!”)</p><p><b>  end if

25、</b></p><p>  編寫連接數(shù)據(jù)庫(kù)以及顯示連接數(shù)據(jù)庫(kù)結(jié)果的腳本, messagebox對(duì)話框標(biāo)題為“xx1420_29”。</p><p><b>  運(yùn)行應(yīng)用程序。</b></p><p>  2. 主窗口和主菜單設(shè)計(jì)</p><p>  啟動(dòng)PowerBuilder 9.0,打開(kāi)工作區(qū),配置并連

26、接數(shù)據(jù)庫(kù)。</p><p><b>  創(chuàng)建登錄窗口</b></p><p>  (File→)New→PB Object→Window→保存:通常窗口命名為“w_<窗口名>”。</p><p><b>  設(shè)計(jì)登錄窗口。</b></p><p><b>  I 窗口的構(gòu)成:&

27、lt;/b></p><p><b>  使用控件:</b></p><p>  圖片按鈕“p_1“——圖片xx1420_29.JPEG</p><p>  靜態(tài)文本”st_”——賬號(hào)、密碼;</p><p>  單行編輯框“sle_1, sle_2“——賬號(hào)和密碼輸入框</p><p> 

28、 命令按鈕“cb_“——確定、退出</p><p><b>  屬性:</b></p><p>  p_1 PictureName下拉列表中指定圖片為“文件路徑\xx1420_29.JPG ”</p><p>  sle_1,sle_2 password屬性 </p><p><b>  事件:</

29、b></p><p><b>  設(shè)置全局變量</b></p><p>  string g_uno</p><p><b>  設(shè)置實(shí)例變量</b></p><p><b>  Int i_n=0</b></p><p>  “確定”按鈕觸發(fā)事件

30、腳本</p><p>  select uno into:g_uno</p><p>  from xx1420_29_u</p><p>  where uno=:sle_1.text and password=:sle_2.text;</p><p><b>  i_n=i_n+1</b></p>&l

31、t;p>  if sqlca.sqlcode=0 then</p><p>  open(w_main)</p><p>  close(parent)</p><p>  elseif i_n=3 then</p><p>  messagebox("xx1420_29","對(duì)不起您是非法用戶!"

32、;)</p><p>  close(parent)</p><p><b>  else</b></p><p>  messagebox("xx1420_29","賬號(hào)或密碼錯(cuò)誤,請(qǐng)重新輸入!")</p><p>  sle_1.text=""</p&

33、gt;<p>  sle_2.text=""</p><p><b>  end if</b></p><p>  “退出”按鈕觸發(fā)事件腳本</p><p>  close(parent)</p><p>  修改應(yīng)用對(duì)象腳本,將應(yīng)用對(duì)象與登錄窗口連接。</p><p

34、>  // Profile xx1420_29</p><p>  SQLCA.DBMS = "MSS Microsoft SQL Server"</p><p>  SQLCA.Database = "xx1420"</p><p>  SQLCA.LogPass = "123456"</p&

35、gt;<p>  SQLCA.ServerName = "59.74.104.180"</p><p>  SQLCA.LogId = "xx1420_29"</p><p>  SQLCA.AutoCommit = False</p><p>  SQLCA.DBParm = ""</

36、p><p>  connect using SQLCA;</p><p>  if SQLCA.SQLCode=-1 THEN</p><p>  MessageBox("xx1420_29","連接失??!")</p><p><b>  return</b></p>&

37、lt;p><b>  end if</b></p><p>  open(w_login)</p><p><b>  運(yùn)行應(yīng)用程序。</b></p><p><b>  菜單的創(chuàng)建</b></p><p><b>  創(chuàng)建菜單</b></p&

38、gt;<p>  (File→)New→PB Object→Menu:右擊Untitled,Insert Submenu Item建菜單項(xiàng),右擊菜單,Insert Submenu Item建命令項(xiàng),通常菜單命名為“m_<菜單名>”。</p><p><b>  修改菜單</b></p><p>  指定窗口→單擊右鍵→Edit 或 雙擊指定菜

39、單。</p><p><b>  刪除</b></p><p>  指定菜單→單擊右鍵→Delete。</p><p><b>  設(shè)計(jì)主菜單。</b></p><p><b>  菜單的屬性:</b></p><p><b>  定義菜單外觀

40、</b></p><p>  General選項(xiàng)卡:Name(名稱)、MicroHelp(微幫助)、Enabled(可用性)等。</p><p><b>  定義菜單項(xiàng)快捷鍵</b></p><p>  General選項(xiàng)卡:Shortcut key(快捷鍵,包括組合鍵:Alt、Ctrl、Shift)。</p><

41、;p>  定義菜單工具欄中 修改密碼、幫助、退出系統(tǒng)的顯示圖片</p><p>  Toolbar選項(xiàng)卡:ToolBarItemText(指向該圖標(biāo)時(shí)文字提示)、ToolBarItemName(圖標(biāo)所顯示圖片)、ToolBarItemDownName(按住圖標(biāo)所顯示圖片)、ToolBarItemOrder(圖標(biāo)在工具欄中位置)等。</p><p>  設(shè)計(jì)主窗口并捆綁主菜單。<

42、/p><p>  創(chuàng)建窗口w_main,在“MenuName”框中指定捆綁的菜單名m_main,在“WindowType”下拉列表選中 “mdihelp!”,在“WindowState”下拉列表選中“maximized!”。</p><p>  編寫主菜單菜單項(xiàng)“退出”腳本。.</p><p>  close(parent)</p><p>  

43、編寫登錄窗口clicked事件腳本,將登錄窗口與主窗口連接。</p><p><b>  運(yùn)行應(yīng)用程序。</b></p><p>  3.系統(tǒng)維護(hù)菜單各項(xiàng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b> ?。?)修改密碼項(xiàng)</b></p><p>  1.1修改密碼窗口設(shè)計(jì)</p><p&

44、gt;<b>  1.2事件腳本</b></p><p><b>  確定腳本</b></p><p><b>  int ret</b></p><p>  SELECT uno INTO :g_uno FROM xx1420_29_u WHERE uno=:g_uno and password=:

45、sle_1.text;</p><p>  IF SQLCA.SQLCode=0 THEN</p><p>  IF sle_2.text=sle_3.text THEN</p><p>  UPDATE xx1420_29_u SET password=:sle_2.text WHERE uno=:g_uno;</p><p>  COMM

46、IT USING SQLCA;</p><p>  MessageBox("xx1420_29","保存成功!")</p><p>  Close(PARENT)</p><p><b>  RETURN</b></p><p><b>  ELSE </b>

47、</p><p>  ret=MessageBox("xx1420_29","新密碼有誤,繼續(xù)嗎?",Question!,YesNo!,2)</p><p>  IF ret=1 THEN</p><p>  sle_1.text=""</p><p>  sle_2.text=&q

48、uot;"</p><p>  sle_3.text=""</p><p><b>  ELSE</b></p><p>  Close(PARENT)</p><p><b>  RETURN</b></p><p><b>  EN

49、D IF</b></p><p><b>  END IF</b></p><p><b>  ELSE</b></p><p>  ret=MessageBox("xx1420_29","舊密碼有誤,繼續(xù)嗎?",Question!,YesNo!,2)</p>

50、<p>  IF ret=1 THEN</p><p>  sle_1.text=""</p><p>  sle_2.text=""</p><p>  sle_3.text=""</p><p><b>  ELSE</b></p>

51、<p>  Close(PARENT)</p><p><b>  RETURN</b></p><p><b>  END IF</b></p><p><b>  END IF</b></p><p><b>  關(guān)閉腳本</b><

52、/p><p>  close(parent)</p><p>  “系統(tǒng)維護(hù)”菜單標(biāo)題下“修改密碼”項(xiàng)的觸發(fā)事件腳本</p><p>  Open(w_password)</p><p><b>  1.3運(yùn)行應(yīng)用程序</b></p><p><b> ?。?)幫助項(xiàng)</b>&l

53、t;/p><p>  2.1系統(tǒng)幫助窗口設(shè)計(jì)</p><p><b>  窗口屬性:</b></p><p>  Title中輸入“幫助”,在“WindowType”下拉列表選中 “main!”,在“WindowState”下拉列表選中“normal!”。</p><p>  工具欄—OLE控件,設(shè)置“幫助”。</p&

54、gt;<p><b>  2.2 事件腳本</b></p><p>  “系統(tǒng)維護(hù)”菜單標(biāo)題下“幫助”項(xiàng)的觸發(fā)事件腳本</p><p>  Open(w_help)</p><p><b>  2.3運(yùn)行應(yīng)用程序</b></p><p><b>  (3)退出系統(tǒng)項(xiàng)</

55、b></p><p>  “系統(tǒng)維護(hù)”菜單標(biāo)題下“退出”項(xiàng)的“關(guān)閉”事件腳本</p><p>  Close(w_main)</p><p>  4. “學(xué)生選課管理系統(tǒng)”數(shù)據(jù)窗口的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  <1>“課程管理”菜單欄中的“課程查詢”項(xiàng)</p><p><b>  創(chuàng)建數(shù)

56、據(jù)窗口對(duì)象</b></p><p><b>  選擇顯示風(fēng)格</b></p><p>  (File→)New→DataWindow:選擇顯示Grid風(fēng)格。</p><p><b>  定義數(shù)據(jù)源</b></p><p><b>  OK:定義數(shù)據(jù)源。</b><

57、;/p><p><b>  控制數(shù)據(jù)</b></p><p>  Next→選擇xx1420_29_c→Open</p><p>  ·選擇列:?jiǎn)螕袅忻?lt;/p><p>  ·指定排序:?jiǎn)螕鬝ort選項(xiàng)卡,拖動(dòng)xx1420_29_c.cno列至右部,復(fù)選框Ascending表示升序。</p>

58、<p><b>  保存</b></p><p>  對(duì)象名:d_c_locate</p><p><b>  數(shù)據(jù)對(duì)象</b></p><p>  設(shè)計(jì)課程查詢窗口</p><p><b>  創(chuàng)建窗口</b></p><p><

59、;b>  事件腳本:</b></p><p><b>  Open事件腳本</b></p><p>  dw_1.SetTransObject(sqlca)</p><p>  dw_1.Retrieve()</p><p><b>  檢索事件腳本</b></p>

60、<p><b>  string cx</b></p><p>  IF Trim(sle_1.text)="" then</p><p><b>  cx=""</b></p><p><b>  ELSE</b></p><p&

61、gt;  cx="cname like '%"+Trim(sle_1.text)+"%'"</p><p><b>  END IF</b></p><p>  dw_1.SetSort("cno a")</p><p>  dw_1.Sort()</p>

62、<p>  dw_1.SetFilter(cx)</p><p>  dw_1.Filter()</p><p><b>  關(guān)閉事件腳本</b></p><p>  Close(parent)</p><p>  系統(tǒng)主菜單中響應(yīng) “課程查詢”窗口的腳本。</p><p>  Ope

63、n(w_c_locate)</p><p><b>  運(yùn)行應(yīng)用程序。</b></p><p>  <2>“課程管理”菜單欄中的“課程刪除”項(xiàng)</p><p>  1.創(chuàng)建數(shù)據(jù)窗口對(duì)象</p><p><b>  選擇顯示風(fēng)格</b></p><p>  (Fil

64、e→)New→DataWindow:選擇顯示Grid風(fēng)格。</p><p>  定義數(shù)據(jù)源SQL select</p><p><b>  OK:定義數(shù)據(jù)源。</b></p><p><b>  控制數(shù)據(jù)</b></p><p>  Next→選擇xx1420_29_c→Open</p>

65、<p>  ·選擇列:?jiǎn)螕袅忻?lt;/p><p>  ·指定排序:?jiǎn)螕鬝ort選項(xiàng)卡,拖動(dòng)xx1420_29_c.cno列至右部,復(fù)選框Ascending表示升序。</p><p><b>  保存</b></p><p>  對(duì)象名:d_c_delete</p><p><b&g

66、t;  數(shù)據(jù)對(duì)象</b></p><p>  設(shè)計(jì)課程刪除窗口</p><p><b>  創(chuàng)建窗口</b></p><p><b>  事件腳本:</b></p><p><b>  Open事件腳本:</b></p><p>  dw

67、_1.SetTransObject(sqlca)</p><p>  dw_1.Retrieve()</p><p><b>  檢索腳本:</b></p><p><b>  string cx</b></p><p>  cx="cno>='"+sle_1.te

68、xt+"' and cno<='"+sle_2.text+"'"</p><p>  dw_1.SetSort("sno a")</p><p>  dw_1.Sort()</p><p>  dw_1.SetFilter(cx)</p><p>  d

69、w_1.Filter()</p><p><b>  刪除腳本:</b></p><p><b>  long n</b></p><p>  string cno,s</p><p>  cno=dw_1.object.cno[dw_1.GetRow()]</p><p>

70、  select count(*) into :n from xx1420_29_sc where cno=:cno;</p><p>  if n>0 then</p><p>  messagebox("xx1420_29警告","該課程在選課表中已存在,不能刪除!")</p><p><b>  else

71、</b></p><p>  dw_1.deleterow(0)</p><p><b>  end if</b></p><p><b>  確定腳本:</b></p><p>  int ret,ret1</p><p>  IF dw_1.DeletedCo

72、unt()>0 THEN</p><p>  ret=MessageBox("xx1420_29提示","數(shù)據(jù)已更新,是否保存?",Question!,YesNo!)</p><p>  IF ret=1 THEN</p><p>  ret1=dw_1.Update()</p><p>  IF

73、 ret1=1 THEN</p><p>  COMMIT USING SQLCA;</p><p>  MessageBox("xx1420_29提示","保存成功!")</p><p><b>  ELSE</b></p><p>  ROLLBACK USING SQLCA;

74、</p><p>  MessageBox("xx1420_29錯(cuò)誤","保存失敗!")</p><p><b>  END IF</b></p><p><b>  END IF</b></p><p><b>  END IF</b>

75、</p><p><b>  關(guān)閉腳本:</b></p><p>  Close(PARENT)</p><p>  系統(tǒng)主菜單中響應(yīng) “課程刪除”窗口腳本。</p><p>  Open(w_c_delete)</p><p><b>  運(yùn)行應(yīng)用程序。</b></p

76、><p>  <3>“課程管理”菜單欄中的“課程修改”項(xiàng)</p><p><b>  創(chuàng)建數(shù)據(jù)窗口對(duì)象</b></p><p><b>  選擇顯示風(fēng)格</b></p><p>  (File→)New→DataWindow:選擇顯示Grid風(fēng)格。</p><p>&

77、lt;b>  定義數(shù)據(jù)源</b></p><p><b>  OK:定義數(shù)據(jù)源。</b></p><p><b>  控制數(shù)據(jù) </b></p><p>  Next→選擇一個(gè)或多個(gè)表→Open</p><p>  ·選擇列:?jiǎn)螕袅忻?lt;/p><p&

78、gt;  ·指定排序:?jiǎn)螕鬝ort選項(xiàng)卡,拖動(dòng)xx1420_29_c.cno列至右部,復(fù)選框Ascending表示升序。</p><p><b>  保存</b></p><p>  對(duì)象名:d_c_edit</p><p><b>  數(shù)據(jù)對(duì)象</b></p><p>  設(shè)計(jì)課程修改窗

79、口</p><p><b>  創(chuàng)建窗口</b></p><p><b>  事件腳本:</b></p><p>  Open事件腳本 :</p><p>  dw_1.SetTransObject(sqlca)</p><p>  dw_1.Retrieve()<

80、/p><p>  closequery事件:</p><p>  int ret,ret1</p><p>  dw_1.AcceptText()</p><p>  IF dw_1.ModifiedCount()>0 THEN</p><p>  ret=MessageBox("xx1420_29提示&q

81、uot;,"數(shù)據(jù)已更新,是否保存?",Question!,YesNoCancel!,3)</p><p>  IF ret=1 THEN</p><p>  ret1=dw_1.Update()</p><p>  IF ret1=1 THEN</p><p>  COMMIT USING SQLCA;</p>

82、<p>  MessageBox("xx1420_29提示","保存成功!")</p><p><b>  ELSE</b></p><p>  ROLLBACK USING SQLCA;</p><p>  MessageBox("xx1420_29錯(cuò)誤","

83、保存失敗!")</p><p><b>  END IF</b></p><p>  ELSEIF ret=3 THEN</p><p><b>  RETURN 1</b></p><p><b>  END IF</b></p><p>&

84、lt;b>  END IF</b></p><p>  Close(THIS)</p><p><b>  檢索腳本:</b></p><p><b>  string cx</b></p><p>  cx="cno>='"+sle_1.text

85、+"' and cno<='"+sle_2.text+"'"</p><p>  dw_1.SetSort("sno a")</p><p>  dw_1.Sort()</p><p>  dw_1.SetFilter(cx)</p><p>  dw_

86、1.Filter()</p><p><b>  確定腳本:</b></p><p>  int ret,ret1</p><p>  dw_1.AcceptText()</p><p>  IF dw_1.ModifiedCount()>0 THEN</p><p>  ret=Messa

87、geBox("xx1420_29提示","數(shù)據(jù)已更新,是否保存?",Question!,YesNoCancel!,3)</p><p>  IF ret=1 THEN</p><p>  ret1=dw_1.Update()</p><p>  IF ret1=1 THEN</p><p>  COMM

88、IT USING SQLCA;</p><p>  MessageBox("xx1420_29提示","保存成功!")</p><p><b>  ELSE</b></p><p>  ROLLBACK USING SQLCA;</p><p>  MessageBox("

89、;xx1420_29錯(cuò)誤","保存失敗!")</p><p><b>  END IF</b></p><p>  ELSEIF ret=3 THEN</p><p><b>  RETURN 1</b></p><p><b>  END IF</b&

90、gt;</p><p><b>  END IF</b></p><p><b>  取消腳本:</b></p><p>  dw_1.Retrieve()</p><p><b>  關(guān)閉腳本:</b></p><p>  Close(parent)&

91、lt;/p><p>  系統(tǒng)主菜單中響應(yīng) “課程修改”窗口腳本。</p><p>  Open(w_c_edit)</p><p><b>  運(yùn)行應(yīng)用程序。</b></p><p>  <4>“課程管理”菜單欄中的“課程增加”項(xiàng)</p><p><b>  創(chuàng)建數(shù)據(jù)窗口對(duì)象&l

92、t;/b></p><p><b>  選擇顯示風(fēng)格</b></p><p>  (File→)New→DataWindow:選擇顯示Grid風(fēng)格。</p><p><b>  定義數(shù)據(jù)源</b></p><p><b>  OK:定義數(shù)據(jù)源。</b></p>

93、<p><b>  控制數(shù)據(jù)</b></p><p>  Next→選擇一個(gè)或多個(gè)表→Open</p><p>  ·選擇列:?jiǎn)螕袅忻?lt;/p><p>  ·指定排序:?jiǎn)螕鬝ort選項(xiàng)卡,拖動(dòng)xx1420_29_c.cno列至右部,復(fù)選框Ascending表示升序。</p><p>&

94、lt;b>  保存</b></p><p>  對(duì)象名:d_c_insert</p><p><b>  數(shù)據(jù)對(duì)象</b></p><p>  設(shè)計(jì)課程增加窗口</p><p><b>  創(chuàng)建窗口</b></p><p><b>  事件腳本

95、:</b></p><p><b>  Open事件腳本:</b></p><p>  dw_1.SetTransObject(sqlca)</p><p>  dw_1.InsertRow(0)</p><p>  closequery事件腳本:</p><p>  int ret,

96、ret1</p><p>  dw_1.AcceptText()</p><p>  IF dw_1.ModifiedCount()>0 THEN</p><p>  ret=MessageBox("xx1420_29提示","數(shù)據(jù)已更新,是否保存?",Question!,YesNoCancel!,3)</p>

97、;<p>  IF ret=1 THEN</p><p>  ret1=dw_1.Update()</p><p>  IF ret1=1 THEN</p><p>  COMMIT USING SQLCA;</p><p>  MessageBox("xx1420_29提示","保存成功!&quo

98、t;)</p><p><b>  ELSE</b></p><p>  ROLLBACK USING SQLCA;</p><p>  MessageBox("xx1420_29錯(cuò)誤","保存失敗!")</p><p><b>  END IF</b><

99、;/p><p>  ELSEIF ret=3 THEN</p><p><b>  RETURN 1</b></p><p><b>  END IF</b></p><p><b>  END IF</b></p><p><b>  增加腳本:

100、</b></p><p><b>  int i</b></p><p>  i=dw_1.GetRow()</p><p>  dw_1.AcceptText()</p><p>  IF IsNull(dw_1.object.cno[i]) or Trim(dw_1.object.cno[i])=&quo

101、t;" THEN</p><p>  messagebox("xx1420_29警告","課程編號(hào)不能為空!")</p><p><b>  ELSE</b></p><p>  dw_1.InsertRow(0)</p><p>  dw_1.ScrollToRow(d

102、w_1.RowCount())</p><p>  dw_1.SetColumn(1)</p><p>  dw_1.SetFocus()</p><p><b>  END IF</b></p><p><b>  確定腳本:</b></p><p>  int ret,r

103、et1</p><p>  dw_1.AcceptText()</p><p>  IF dw_1.ModifiedCount()>0 THEN</p><p>  ret=MessageBox("xx1420_29提示","數(shù)據(jù)已更新,是否保存?",Question!,YesNoCancel!,3)</p>

104、<p>  IF ret=1 THEN</p><p>  ret1=dw_1.Update()</p><p>  IF ret1=1 THEN</p><p>  COMMIT USING SQLCA;</p><p>  MessageBox("xx1420_29提示","保存成功!"

105、;)</p><p><b>  ELSE</b></p><p>  ROLLBACK USING SQLCA;</p><p>  MessageBox("xx1420_29錯(cuò)誤","保存失敗!")</p><p><b>  END IF</b><

106、/p><p>  ELSEIF ret=3 THEN</p><p><b>  RETURN 1</b></p><p><b>  END IF</b></p><p><b>  END IF</b></p><p><b>  刪除腳本:&

107、lt;/b></p><p>  IF dw_1.RowCount()=1 then</p><p>  dw_1.DeleteRow(0)</p><p>  dw_1.InsertRow(0)</p><p>  dw_1.ScrollToRow(1)</p><p>  dw_1.SetFocus()<

108、;/p><p><b>  ELSE</b></p><p>  dw_1.DeleteRow(0)</p><p>  dw_1.ScrollToRow(dw_1.getrow()-1)</p><p>  dw_1.SetFocus()</p><p><b>  END IF</

109、b></p><p><b>  關(guān)閉腳本:</b></p><p>  Close(PARENT)</p><p><b>  定義實(shí)例變量:</b></p><p><b>  Int i_n</b></p><p>  Dw_1的itemch

110、anged</p><p><b>  int i,j</b></p><p>  string cno</p><p><b>  i_n=0</b></p><p>  dw_1.accepttext()</p><p>  IF dw_1.GetColumnName()

111、="cno" THEN</p><p>  j=dw_1.GetRow()</p><p>  cno=dw_1.object.cno[j]</p><p><b>  //檢查表</b></p><p>  SELECT cno INTO :cno FROM xx1420_29_c WHERE c

112、no=:cno;</p><p>  IF sqlca.sqlcode=0 THEN </p><p><b>  i_n=1</b></p><p><b>  RETURN 1</b></p><p><b>  END IF</b></p><p&g

113、t;<b>  //檢查數(shù)據(jù)窗口</b></p><p>  FOR i=1 to dw_1.RowCount()</p><p>  IF i<>j THEN</p><p>  IF Upper(dw_1.object.cno[i])=Upper(cno) THEN</p><p><b>  

114、i_n=2</b></p><p><b>  RETURN 1</b></p><p><b>  END IF</b></p><p><b>  END IF</b></p><p><b>  NEXT</b></p>&

115、lt;p><b>  END IF</b></p><p>  Dw_1的itemerror腳本:</p><p>  IF i_n=1 THEN</p><p>  messagebox("xx1420_29警告","課程編號(hào)不能與表中相同!")</p><p>  ELS

116、EIF i_n=2 THEN</p><p>  messagebox("xx1420_29警告","課程編號(hào)不能與錄入值相同!")</p><p><b>  END IF</b></p><p>  dw_1.object.cno[dw_1.GetRow()]=""</p&g

117、t;<p><b>  RETURN 1</b></p><p>  系統(tǒng)主菜單中響應(yīng) “課程增加”窗口腳本。</p><p>  Open(w_c_insert)</p><p><b>  運(yùn)行應(yīng)用程序。</b></p><p>  <5>“課程管理”菜單欄中的“學(xué)生查

118、詢”項(xiàng)</p><p><b>  創(chuàng)建數(shù)據(jù)窗口對(duì)象</b></p><p><b>  選擇顯示風(fēng)格</b></p><p>  (File→)New→DataWindow:選擇顯示Grid風(fēng)格。</p><p><b>  定義數(shù)據(jù)源</b></p><

119、p><b>  OK:定義數(shù)據(jù)源。</b></p><p><b>  控制數(shù)據(jù)</b></p><p>  Next→選擇xx1420_29_s→Open</p><p>  ·選擇列:?jiǎn)螕袅忻?lt;/p><p>  ·指定排序:?jiǎn)螕鬝ort選項(xiàng)卡,拖動(dòng)xx1420_29

120、_s.sno列至右部,復(fù)選框Ascending表示升序。</p><p><b>  保存</b></p><p>  對(duì)象名:d_s_locate</p><p><b>  數(shù)據(jù)對(duì)象</b></p><p>  設(shè)計(jì)學(xué)生查詢窗口</p><p><b>  

121、創(chuàng)建窗口</b></p><p><b>  事件腳本:</b></p><p><b>  Open事件腳本:</b></p><p>  dw_1.SetTransObject(sqlca)</p><p>  dw_1.Retrieve()</p><p>

122、  rb_1.checked=true</p><p><b>  檢索腳本:</b></p><p><b>  string cx</b></p><p>  IF Trim(sle_1.text)="" then</p><p><b>  cx="&q

123、uot;</b></p><p><b>  ELSE</b></p><p>  cx="%"+Trim(sle_1.text)+"%"</p><p>  IF rb_1.checked=TRUE THEN</p><p>  cx="sname like

124、 '"+cx+"'"</p><p>  ELSEIF rb_2.checked=TRUE THEN</p><p>  cx="class like '"+cx+"'"</p><p>  ELSEIF rb_3.checked=TRUE THEN</p&g

125、t;<p>  cx="address like '"+cx+"'"</p><p><b>  END IF</b></p><p><b>  END IF</b></p><p>  dw_1.SetSort("sno a")&

126、lt;/p><p>  dw_1.Sort()</p><p>  dw_1.SetFilter(cx)</p><p>  dw_1.Filter()</p><p><b>  關(guān)閉腳本:</b></p><p>  Close(parent)</p><p>  系統(tǒng)主菜

127、單中響應(yīng) “學(xué)生查詢”窗口腳本。</p><p>  Open(w_s_locate)</p><p><b>  運(yùn)行應(yīng)用程序。</b></p><p>  <6>“學(xué)生管理”菜單欄中的“學(xué)生刪除”項(xiàng)</p><p><b>  創(chuàng)建數(shù)據(jù)窗口對(duì)象</b></p><

128、p><b>  選擇顯示風(fēng)格</b></p><p>  (File→)New→DataWindow:選擇顯示Grid風(fēng)格。</p><p><b>  定義數(shù)據(jù)源</b></p><p><b>  OK:定義數(shù)據(jù)源。</b></p><p><b>  控制

129、數(shù)據(jù)</b></p><p>  Next→選擇xx1420_29_s→Open</p><p>  ·選擇列:?jiǎn)螕袅忻?lt;/p><p>  ·指定排序:?jiǎn)螕鬝ort選項(xiàng)卡,拖動(dòng)xx1420_29_s.sno列至右部,復(fù)選框Ascending表示升序。</p><p><b>  保存</b&

130、gt;</p><p>  對(duì)象名:d_s_delete</p><p><b>  數(shù)據(jù)對(duì)象</b></p><p>  同d_s_locate相同</p><p>  設(shè)計(jì)學(xué)生刪除窗口</p><p><b>  創(chuàng)建窗口</b></p><p&g

131、t;<b>  事件腳本:</b></p><p>  Closequery腳本:</p><p>  int ret,ret1</p><p>  IF dw_1.DeletedCount()>0 THEN</p><p>  ret=MessageBox("xx1420_29提示",&quo

132、t;數(shù)據(jù)已更新,是否保存?",Question!,YesNoCancel!,3)</p><p>  IF ret=1 THEN</p><p>  ret1=dw_1.Update()</p><p>  IF ret1=1 THEN</p><p>  COMMIT USING SQLCA;</p><p&g

133、t;  MessageBox("xx1420_29提示","保存成功!")</p><p><b>  ELSE</b></p><p>  ROLLBACK USING SQLCA;</p><p>  MessageBox("xx1420_29錯(cuò)誤","保存失敗!&quo

134、t;)</p><p><b>  END IF</b></p><p>  ELSEIF ret=3 THEN</p><p><b>  RETURN 1</b></p><p><b>  END IF</b></p><p><b> 

135、 END IF</b></p><p>  Close(THIS)</p><p><b>  Open事件腳本:</b></p><p>  dw_1.SetTransObject(sqlca)</p><p>  dw_1.Retrieve()</p><p><b> 

136、 檢索腳本:</b></p><p><b>  string cx</b></p><p>  cx="sno>='"+sle_1.text+"' and sno<='"+sle_2.text+"'"</p><p>  dw_

137、1.SetSort("sno a")</p><p>  dw_1.Sort()</p><p>  dw_1.SetFilter(cx)</p><p>  dw_1.Filter()</p><p><b>  刪除腳本:</b></p><p><b>  in

138、t n</b></p><p>  string sno</p><p>  sno=dw_1.object.sno[dw_1.GetRow()]</p><p>  SELECT count(*) into:n from xx1420_29_sc where sno=:sno;</p><p>  if n>0 then&

139、lt;/p><p>  messagebox("1409_12警告","該學(xué)生在選課表中已存在,不能刪除!")</p><p><b>  else</b></p><p>  dw_1.deleterow(0)</p><p><b>  end if</b>&

140、lt;/p><p><b>  確定腳本:</b></p><p>  int ret,ret1</p><p>  IF dw_1.DeletedCount()>0 THEN</p><p>  ret=MessageBox("1409_12提示","數(shù)據(jù)已更新,是否保存?",

141、Question!,YesNo!)</p><p>  IF ret=1 THEN</p><p>  ret1=dw_1.Update()</p><p>  IF ret1=1 THEN</p><p>  COMMIT USING SQLCA;</p><p>  MessageBox("xx1420_

142、29提示","保存成功!")</p><p><b>  ELSE</b></p><p>  ROLLBACK USING SQLCA;</p><p>  MessageBox("1409_12錯(cuò)誤","保存失敗!")</p><p><b&

143、gt;  END IF</b></p><p><b>  END IF</b></p><p><b>  END IF</b></p><p><b>  關(guān)閉腳本:</b></p><p>  Close(parent)</p><p>

144、;  系統(tǒng)主菜單中響應(yīng) “學(xué)生刪除”窗口的腳本。</p><p>  Open(w_s_delete)</p><p><b>  運(yùn)行應(yīng)用程序。</b></p><p>  <7>“學(xué)生管理”菜單欄中的“學(xué)生修改”項(xiàng)</p><p><b>  創(chuàng)建數(shù)據(jù)窗口對(duì)象</b></p&g

145、t;<p>  選擇顯示Grid風(fēng)格</p><p>  (File→)New→DataWindow:選擇顯示風(fēng)格。</p><p><b>  定義數(shù)據(jù)源</b></p><p><b>  OK:定義數(shù)據(jù)源。</b></p><p><b>  控制數(shù)據(jù)</b>

146、;</p><p>  Next→選擇xx1420_29_s→Open</p><p>  ·選擇列:?jiǎn)螕袅忻?lt;/p><p>  ·指定排序:?jiǎn)螕鬝ort選項(xiàng)卡,拖動(dòng)xx1420_29_s.sno列至右部,復(fù)選框Ascending表示升序。</p><p><b>  保存</b></p&g

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論