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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  目 錄</b></p><p><b>  1 前言1</b></p><p><b>  2 需求分析1</b></p><p>  2.1 課程設(shè)計(jì)目的1</p><p>  2.2 課程設(shè)計(jì)任務(wù)1</p><p&g

2、t;  2.3 設(shè)計(jì)環(huán)境1</p><p>  2.4 開發(fā)語(yǔ)言2</p><p><b>  3 分析和設(shè)計(jì)2</b></p><p>  3.1 系統(tǒng)E-R模型2</p><p>  3.2 表空間及表的設(shè)計(jì)2</p><p>  3.3 視圖設(shè)計(jì)5</p><

3、p>  3.4 存儲(chǔ)過程、函數(shù)、包的設(shè)計(jì)6</p><p>  3.5 觸發(fā)器設(shè)計(jì)7</p><p>  3.6 角色、用戶、權(quán)限設(shè)計(jì)8</p><p>  3.7 備份方案設(shè)計(jì)9</p><p>  4 課程設(shè)計(jì)總結(jié)9</p><p>  4.1 程序運(yùn)行結(jié)果9</p><p&g

4、t;  4.2 設(shè)計(jì)結(jié)論11</p><p><b>  參考文獻(xiàn)12</b></p><p><b>  致 謝12</b></p><p><b>  附 錄13</b></p><p><b>  1 前言</b></p>

5、<p>  設(shè)計(jì)一個(gè)個(gè)人記賬管理系統(tǒng),用JAVA來編寫。綜合運(yùn)用JAVA的基礎(chǔ)和算法設(shè)計(jì)的基本原則,用PLSQL Developer,orcale等工具實(shí)現(xiàn)。功能包括收入記錄、支出記錄、查詢功能、報(bào)表,并將記錄保存在數(shù)據(jù)庫(kù)中,通過連接數(shù)據(jù)庫(kù)可以查詢所有記錄,可以通過選擇日期將符合條件的記錄顯示在查詢框中,可以選擇收入或支出查詢收入記錄或者支出記錄。用戶可以通過報(bào)表了解到指定時(shí)間段內(nèi)收入總和、支出總和、余額。</p>

6、;<p><b>  2 需求分析</b></p><p>  2.1 課程設(shè)計(jì)目的</p><p>  通過專業(yè)課程設(shè)計(jì)Ⅱ,即大型數(shù)據(jù)庫(kù)系統(tǒng)課程設(shè)計(jì),有助于培養(yǎng)學(xué)生綜合運(yùn)用數(shù)據(jù)庫(kù)相關(guān)知識(shí)解決實(shí)際問題的能力。本設(shè)計(jì)要求對(duì)實(shí)際問題進(jìn)行需求分析,提煉實(shí)際問題中的數(shù)據(jù),建立關(guān)系模型,并在大型數(shù)據(jù)庫(kù)中得以實(shí)現(xiàn)。同時(shí)要求對(duì)數(shù)據(jù)庫(kù)的運(yùn)營(yíng)、管理及使用上進(jìn)行必要的規(guī)劃和

7、實(shí)現(xiàn)。</p><p>  2.2 課程設(shè)計(jì)任務(wù)</p><p>  針對(duì)某管理信息系統(tǒng)的需求,設(shè)計(jì)一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)。具體內(nèi)容如下:</p><p>  根據(jù)需求,建立ER模型。通過ER圖表示。</p><p>  在此基礎(chǔ)上,設(shè)計(jì)物理表結(jié)構(gòu),編寫創(chuàng)建數(shù)據(jù)庫(kù)表的語(yǔ)句。較高要求為在設(shè)計(jì)創(chuàng)建數(shù)據(jù)表語(yǔ)句的同時(shí)考慮性能上的要求,采用相關(guān)的磁盤存儲(chǔ)技術(shù)。

8、</p><p>  從實(shí)際查詢應(yīng)用出發(fā),為一些主要的應(yīng)用模塊設(shè)計(jì)至少3個(gè)參數(shù)化視圖。</p><p>  針對(duì)常用的業(yè)務(wù),創(chuàng)建包,同時(shí)實(shí)現(xiàn)一個(gè)函數(shù)放入包中。</p><p>  從數(shù)據(jù)檢驗(yàn)的角度出發(fā),為相關(guān)的表建立至少1個(gè)觸發(fā)器。</p><p>  從數(shù)據(jù)更新或修改的角度出發(fā),設(shè)計(jì)至少1個(gè)存儲(chǔ)過程。</p><p>

9、;  從安全的角度出發(fā),規(guī)劃系統(tǒng)的角色、用戶、權(quán)限,并通過SQL實(shí)現(xiàn)。</p><p>  預(yù)計(jì)每個(gè)表的大致容量和增長(zhǎng)速度。指定備份的方案,寫出相關(guān)的備份命令。</p><p>  以上所有命令及腳本均需測(cè)試,在設(shè)計(jì)報(bào)告中說明其功能并記錄其輸出。</p><p><b>  2.3 設(shè)計(jì)環(huán)境</b></p><p>  

10、(1)WINDOWS 2000/2003/XP系統(tǒng)</p><p>  (2)Oracle數(shù)據(jù)庫(kù)管理系統(tǒng)</p><p><b>  2.4 開發(fā)語(yǔ)言</b></p><p><b>  PL/SQL語(yǔ)言</b></p><p><b>  3 分析和設(shè)計(jì)</b></p&

11、gt;<p>  3.1 系統(tǒng)E-R模型</p><p>  圖3-1 個(gè)人記賬管理系統(tǒng)E-R圖</p><p>  3.2 表空間及表的設(shè)計(jì)</p><p>  -- Create table</p><p>  create table BANK_INCOME(</p><p>  IN_ID

12、 NUMBER not null,</p><p>  IN_NAME VARCHAR2(50),</p><p>  IN_DATE VARCHAR2(50),</p><p>  IN_MONEY NUMBER(10,2),</p><p>  IN_COMMENT VARCHAR2(500)</p>

13、<p><b>  )</b></p><p>  tablespace USERS</p><p>  pctfree 10</p><p>  initrans 1</p><p>  maxtrans 255</p><p><b>  storage</b>

14、;</p><p><b>  (</b></p><p>  initial 64K</p><p>  minextents 1</p><p>  maxextents unlimited</p><p><b>  );</b></p><p>

15、;  -- Create/Recreate primary, unique and foreign key constraints </p><p>  alter table BANK_INCOME</p><p>  add constraint PK_IN_ID primary key (IN_ID)</p><p>  using index </p&

16、gt;<p>  tablespace USERS</p><p>  pctfree 10</p><p>  initrans 2</p><p>  maxtrans 255</p><p><b>  storage</b></p><p><b>  (</

17、b></p><p>  initial 64K</p><p>  minextents 1</p><p>  maxextents unlimited</p><p><b>  );</b></p><p>  -- Create table</p><p>

18、  create table BANK_OUT</p><p><b>  (</b></p><p>  OUT_ID NUMBER not null,</p><p>  OUT_NAME VARCHAR2(50),</p><p>  OUT_DATE VARCHAR2(50),</p&

19、gt;<p>  OUT_MONEY NUMBER(10,2),</p><p>  OUT_COMMENT VARCHAR2(500)</p><p><b>  )</b></p><p>  tablespace USERS</p><p>  pctfree 10</p><

20、p>  initrans 1</p><p>  maxtrans 255</p><p><b>  storage</b></p><p><b>  (</b></p><p>  initial 64K</p><p>  minextents 1</p&

21、gt;<p>  maxextents unlimited</p><p><b>  );</b></p><p>  -- Create/Recreate primary, unique and foreign key constraints </p><p>  alter table BANK_OUT</p>

22、<p>  add primary key (OUT_ID)</p><p>  using index </p><p>  tablespace USERS</p><p>  pctfree 10</p><p>  initrans 2</p><p>  maxtrans 255</p>

23、;<p><b>  storage</b></p><p><b>  (</b></p><p>  initial 64K</p><p>  minextents 1</p><p>  maxextents unlimited</p><p><

24、b>  );</b></p><p><b>  圖3-2 收入表</b></p><p><b>  圖3-3 支出表</b></p><p><b>  3.3 視圖設(shè)計(jì)</b></p><p><b>  圖3-4 收入視圖</b&g

25、t;</p><p><b>  圖3-5 支出視圖</b></p><p>  3.4 存儲(chǔ)過程、函數(shù)、包的設(shè)計(jì)</p><p><b>  圖3-6 存儲(chǔ)過程</b></p><p><b>  圖3-7包的設(shè)計(jì)</b></p><p><b&

26、gt;  3.5 觸發(fā)器設(shè)計(jì)</b></p><p><b>  (1)收入觸發(fā)器</b></p><p>  create or replace trigger tri_auto_income_id</p><p>  before insert on bank_income </p><p>  for

27、 each row</p><p><b>  declare</b></p><p>  -- local variables here</p><p><b>  begin</b></p><p>  select seq_income_id.nextval into:new.in_id fr

28、om dual;</p><p>  end tri_auto_income_id;</p><p><b>  (2)支出觸發(fā)器</b></p><p>  create or replace trigger TRI_AUTO_OUT_ID</p><p>  before insert on bank_out &l

29、t;/p><p>  for each row</p><p><b>  declare</b></p><p>  -- local variables here</p><p><b>  begin</b></p><p>  select seq_out_id.next

30、val into:new.out_id from dual;</p><p>  end TRI_AUTO_OUT_ID;</p><p>  3.6 角色、用戶、權(quán)限設(shè)計(jì)</p><p>  -- Create the role </p><p>  create role ROLE1;</p><p><b&

31、gt;  --給角色授權(quán)</b></p><p>  grant select,update,insert on bank_income to role1 </p><p>  grant select,update,insert on bank_out to role1</p><p>  -- Create the user </p>

32、<p>  create user huanghua</p><p>  identified by "123456"</p><p>  default tablespace SYSTEM</p><p>  temporary tablespace TEMP </p><p>  profile DEFAUL

33、T;</p><p>  grant select,update,insert on bank_income to huanghua with grant option</p><p>  3.7 備份方案設(shè)計(jì)</p><p>  (1)啟動(dòng)SQL*plus,以SYSDBA身份登錄數(shù)據(jù)庫(kù)</p><p>  (2)查詢當(dāng)前數(shù)據(jù)庫(kù)所有數(shù)據(jù)文件、

34、控制文件、聯(lián)機(jī)重做文件的位置</p><p>  SQL>select file_name from dba_data_files;</p><p>  SQL>SELECT member FROM v$logfile;</p><p>  SQL>SELECT value FROM v$parameter WHERE name=’control_

35、files’;</p><p><b>  (3)關(guān)閉數(shù)據(jù)庫(kù)</b></p><p>  SQL>SHUTDOWN IMMEDIATE</p><p>  (4)復(fù)制所有數(shù)據(jù)文件、聯(lián)機(jī)重做文件以及控制文件到備份磁盤可以直接在操作系統(tǒng)中使用復(fù)制、粘貼方式進(jìn)行</p><p>  (5)重新啟動(dòng)數(shù)據(jù)庫(kù)</p>

36、;<p>  SQL>STARTUP</p><p><b>  4 課程設(shè)計(jì)總結(jié)</b></p><p>  4.1運(yùn)行結(jié)果如下圖所示:</p><p>  圖4-1 個(gè)人記賬管理界面</p><p>  圖4-2 收入記錄界面</p><p>  圖4-3支出記錄界面<

37、;/p><p>  圖4-4 查詢收入支出界面</p><p><b>  圖4-5 報(bào)表界面</b></p><p><b>  4.2、設(shè)計(jì)總結(jié)</b></p><p>  這次我們的課程設(shè)計(jì)題目是個(gè)人記賬管理系統(tǒng)。通過此次課程設(shè)計(jì),掌握到了數(shù)據(jù)庫(kù)系統(tǒng)的開發(fā)方法。同時(shí)也加深了對(duì)剛剛學(xué)習(xí)的JAVA的印

38、象。整個(gè)代碼在寫的過程中出現(xiàn)了很多問題。有的實(shí)在解決不了的問題,就去問教我們JAVA的柳小文老師,老師也非常樂意幫助我解決一些困難。有的時(shí)候不懂的問題就去上網(wǎng)搜索答案,或者自己去看書。學(xué)習(xí)需要自主,對(duì)這一點(diǎn)我頗有感觸。</p><p>  此次課程設(shè)計(jì)結(jié)束之后,我還意猶未盡,因?yàn)閺闹懈杏X到了寫代碼的趣味。于是,我就開始想方設(shè)法找點(diǎn)小的應(yīng)用程序去寫。因?yàn)檫@樣的學(xué)習(xí)方法是最快也是最有效的方式。比老師上課講要好的多。而

39、且大學(xué)生也應(yīng)該培養(yǎng)自己的動(dòng)手能力。而動(dòng)手能力只能來自于自己從頭到尾的去寫一個(gè)不大的應(yīng)用程序。了解整個(gè)創(chuàng)作的一個(gè)大體思路,在寫的過程中還要不斷地去請(qǐng)教我們的老師。因?yàn)樗麄儗?duì)實(shí)際應(yīng)用程序的把握比我們要強(qiáng)的多。</p><p>  當(dāng)然,學(xué)無止境,不能因?yàn)檫@么一點(diǎn)小的成就就止步不前。前路很漫長(zhǎng),但我相信只要自己肯用心去學(xué)習(xí),Nothing is impossible!</p><p><b

40、>  參考文獻(xiàn)</b></p><p>  [1]孫風(fēng)棟,劉蕾等.Oracle 10g數(shù)據(jù)庫(kù)基礎(chǔ)教程[M].北京:電子工業(yè)出版社,2012.10.</p><p>  [2]王珊,薩師煊.數(shù)據(jù)庫(kù)系統(tǒng)概論[M]北京:高等教育出版社,2006.5.</p><p>  [3]Java Programming Java程序設(shè)計(jì)[M]北京:清華大學(xué)出版社,

41、2010.1.</p><p><b>  致 謝</b></p><p>  感謝我們的指導(dǎo)老師xx老師,謝謝她在我們的課程設(shè)計(jì)過程中提出了指導(dǎo)性的方案和架構(gòu),并指引我們閱讀相關(guān)的資料和書籍,使我們?cè)诓皇煜さ念I(lǐng)域中仍能迅速掌握新的方法和技術(shù)。</p><p>  同時(shí)也感謝校領(lǐng)導(dǎo)給我們這次難得的鍛煉機(jī)會(huì),讓我們能更好的理解和實(shí)踐Oracle

42、數(shù)據(jù)庫(kù),讓我們對(duì)數(shù)據(jù)庫(kù)有了更深刻的認(rèn)知,對(duì)已學(xué)知識(shí)有了更進(jìn)一步的鞏固。</p><p>  總之,通過這次課程設(shè)計(jì),我獲益良多。</p><p><b>  附 錄</b></p><p><b>  主要代碼:</b></p><p>  package com.sxt.bank.dao;<

43、/p><p>  import java.sql.Connection;</p><p>  import java.sql.DriverManager;</p><p>  import java.sql.Statement;</p><p><b>  /**</b></p><p><b&

44、gt;  * 數(shù)據(jù)庫(kù)工具類</b></p><p>  * @author Administrator</p><p><b>  *</b></p><p><b>  */</b></p><p>  public class DBUtil {</p><p>

45、;<b>  /**</b></p><p>  * 專用于取得數(shù)據(jù)庫(kù)的連接</p><p><b>  * @return</b></p><p><b>  */</b></p><p>  public static Connection getConn(){</p

46、><p>  Connection conn=null;</p><p><b>  try {</b></p><p><b>  //加載驅(qū)動(dòng)</b></p><p>  Class.forName("oracle.jdbc.driver.OracleDriver");</

47、p><p>  String url="jdbc:oracle:thin:@172.19.95.36:1521:orcl";</p><p><b>  //取得連接</b></p><p>  conn=DriverManager.getConnection(url, "scott", "tige

48、r");</p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  return conn;</p><p><b>  }</b>&

49、lt;/p><p><b>  /**</b></p><p><b>  * 專用于關(guān)閉連接</b></p><p>  * @param conn</p><p>  * @param stat</p><p><b>  */</b></p>

50、;<p>  public static void closeConn(Connection conn,Statement stat){</p><p><b>  try {</b></p><p>  stat.close();</p><p>  conn.close();</p><p>  } c

51、atch (Exception e2) {</p><p>  e2.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b

52、>  收入數(shù)據(jù)處理代碼:</b></p><p>  package com.sxt.bank.dao;</p><p>  import java.sql.Connection;</p><p>  import java.sql.DriverManager;</p><p>  import java.sql.Prepa

53、redStatement;</p><p>  import com.sxt.bank.entity.InCome;</p><p><b>  /**</b></p><p><b>  * 數(shù)據(jù)處理</b></p><p>  * @author Administrator</p>

54、<p><b>  *</b></p><p><b>  */</b></p><p>  public class IncomeDao {</p><p><b>  /**</b></p><p>  * 用于保存收入項(xiàng)到數(shù)據(jù)庫(kù)</p><

55、p>  * @param income</p><p><b>  */</b></p><p>  public void saveIncome(InCome income){</p><p>  Connection conn=null;</p><p>  PreparedStatement stat=nul

56、l;</p><p><b>  try {</b></p><p>  conn=DBUtil.getConn();</p><p>  //得到預(yù)編譯執(zhí)行器</p><p>  stat=conn.prepareStatement("insert into bank_income(in_name,in_da

57、te,in_money,in_comment) values(?,?,?,?)");</p><p><b>  //設(shè)置參數(shù)</b></p><p>  //stat.setInt(1,2);</p><p>  stat.setString(1, income.getInName());</p><p> 

58、 stat.setString(2, income.getInDate());</p><p>  stat.setFloat(3, income.getMoney());</p><p>  stat.setString(4, income.getComment());</p><p><b>  //執(zhí)行</b></p>&l

59、t;p>  stat.execute();</p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p><b>  }finally{</b></p><p>  DBUtil.closeConn(conn, stat);<

60、/p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  支出數(shù)據(jù)處理代碼:</b></p><p>  package com.sxt.bank.

61、dao;</p><p>  import java.sql.Connection;</p><p>  import java.sql.DriverManager;</p><p>  import java.sql.PreparedStatement;</p><p>  import com.sxt.bank.entity.Out;&l

62、t;/p><p><b>  /**</b></p><p><b>  * 支出的數(shù)據(jù)處理</b></p><p>  * @author Administrator</p><p><b>  *</b></p><p><b>  */<

63、;/b></p><p>  public class OutDao {</p><p><b>  /**</b></p><p>  * 用于保存支出項(xiàng)到數(shù)據(jù)庫(kù)</p><p>  * @param income</p><p><b>  */</b></p

64、><p>  public void saveOutcome(Out out){</p><p>  Connection conn=null;</p><p>  PreparedStatement stat=null;</p><p><b>  try {</b></p><p><b&g

65、t;  //加載驅(qū)動(dòng)</b></p><p>  Class.forName("oracle.jdbc.driver.OracleDriver");</p><p>  String url="jdbc:oracle:thin:@172.19.95.36:1521:orcl";</p><p><b> 

66、 //取得連接</b></p><p>  conn=DriverManager.getConnection(url, "scott", "tiger");</p><p>  //得到預(yù)編譯執(zhí)行器</p><p>  stat=conn.prepareStatement("insert into ban

67、k_out(out_name,out_date,out_money,out_comment) values(?,?,?,?)");</p><p><b>  //設(shè)置參數(shù)</b></p><p>  stat.setString(1,out.getOutName());</p><p>  stat.setString(2, out

68、.getOutDate());</p><p>  stat.setFloat(3, out.getMoney());</p><p>  stat.setString(4, out.getComment());</p><p><b>  //執(zhí)行</b></p><p>  stat.execute();</p

69、><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p><b>  }finally{</b></p><p><b>  try {</b></p><p>  stat.close();<

70、;/p><p>  conn.close();</p><p>  } catch (Exception e2) {</p><p>  e2.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p>

71、<p><b>  }</b></p><p><b>  }</b></p><p><b>  收入支出查詢代碼:</b></p><p>  package com.sxt.bank.dao;</p><p>  import java.sql.Connec

72、tion;</p><p>  import java.sql.PreparedStatement;</p><p>  import java.sql.ResultSet;</p><p>  import java.util.ArrayList;</p><p>  import com.sxt.bank.entity.InCome;&l

73、t;/p><p>  import com.sxt.bank.entity.Out;</p><p><b>  /**</b></p><p><b>  * 收入支出查詢</b></p><p>  * @author Administrator</p><p><b&

74、gt;  *</b></p><p><b>  */</b></p><p>  public class QueryDao {</p><p><b>  /**</b></p><p>  * 取得數(shù)據(jù)的記錄,并封裝成集合</p><p><b>

75、  * @return</b></p><p><b>  */</b></p><p>  public ArrayList getInList(){</p><p>  Connection conn=null;</p><p>  PreparedStatement stat=null;</p&g

76、t;<p>  ResultSet rs=null;</p><p>  //新建一個(gè)集合用來裝out</p><p>  ArrayList<InCome> inList=new ArrayList<InCome>();</p><p><b>  try {</b></p><p&g

77、t;<b>  //得到連接</b></p><p>  conn=DBUtil.getConn();</p><p>  //SQL語(yǔ)句執(zhí)行器</p><p>  stat=conn.prepareStatement("select * from bank_income");</p><p>  /

78、/執(zhí)行SQL查詢,得到結(jié)果集</p><p>  rs=stat.executeQuery();</p><p>  while(rs.next()){ </p><p>  //從記錄中取值 參數(shù)類型 字段名</p><p>  String inName=rs.getString("in_

79、name");</p><p>  String inDate=rs.getString("in_date");</p><p>  float money=rs.getFloat("in_money");</p><p>  String comment=rs.getString("in_comment&

80、quot;);</p><p><b>  //封裝成對(duì)象</b></p><p>  InCome in=new InCome(inName, inDate, money, comment);</p><p>  //將對(duì)象裝載到集合中</p><p>  inList.add(in);</p><

81、p><b>  }</b></p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p><b>  }finally{</b></p><p>  DBUtil.closeConn(conn, stat);&

82、lt;/p><p><b>  }</b></p><p><b>  //返回</b></p><p>  return inList;</p><p><b>  }</b></p><p><b>  /**</b></p&

83、gt;<p>  * 取得數(shù)據(jù)的記錄,并封裝成集合</p><p><b>  * @return</b></p><p><b>  */</b></p><p>  public ArrayList getOutList(){</p><p>  Connection conn=n

84、ull;</p><p>  PreparedStatement stat=null;</p><p>  ResultSet rs=null;</p><p>  //新建一個(gè)集合用來裝out</p><p>  ArrayList<Out> outList=new ArrayList<Out>();</p&g

85、t;<p><b>  try {</b></p><p><b>  //得到連接</b></p><p>  conn=DBUtil.getConn();</p><p>  //SQL語(yǔ)句執(zhí)行器</p><p>  stat=conn.prepareStatement("

86、;select * from bank_out");</p><p>  //執(zhí)行SQL查詢,得到結(jié)果集</p><p>  rs=stat.executeQuery();</p><p>  while(rs.next()){ </p><p>  //從記錄中取值 參數(shù)類型 字段名<

87、/p><p>  String outName=rs.getString("out_name");</p><p>  String outDate=rs.getString("out_date");</p><p>  float money=rs.getFloat("out_money");</p&g

88、t;<p>  String comment=rs.getString("out_comment");</p><p><b>  //封裝成對(duì)象</b></p><p>  Out out=new Out(outName, outDate, money, comment);</p><p>  //將對(duì)象裝載

89、到集合中</p><p>  outList.add(out);</p><p><b>  }</b></p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p><b>  }finally{<

90、;/b></p><p>  DBUtil.closeConn(conn, stat);</p><p><b>  }</b></p><p><b>  //返回</b></p><p>  return outList;</p><p><b>  }&

91、lt;/b></p><p><b>  }</b></p><p><b>  報(bào)表代碼:</b></p><p>  package com.sxt.bank.view;</p><p>  import java.awt.EventQueue;</p><p> 

92、 import java.awt.event.ActionEvent;</p><p>  import java.awt.event.ActionListener;</p><p>  import java.awt.event.MouseAdapter;</p><p>  import java.awt.event.MouseEvent;</p>

93、<p>  import java.awt.event.WindowAdapter;</p><p>  import java.awt.event.WindowEvent;</p><p>  import java.util.ArrayList;</p><p>  import javax.swing.ImageIcon;</p>&

94、lt;p>  import javax.swing.JButton;</p><p>  import javax.swing.JFrame;</p><p>  import javax.swing.JLabel;</p><p>  import javax.swing.JPanel;</p><p>  import javax.

95、swing.JScrollPane;</p><p>  import javax.swing.JTable;</p><p>  import javax.swing.JTextField;</p><p>  import javax.swing.border.EmptyBorder;</p><p>  import javax.swi

96、ng.table.DefaultTableModel;</p><p>  import com.sxt.bank.dao.QueryDao;</p><p>  import com.sxt.bank.entity.InCome;</p><p>  import com.sxt.bank.entity.Out;</p><p>  imp

97、ort com.sxt.bank.util.DatePanel;</p><p>  public class reportFrame extends JFrame implements ActionListener {</p><p>  private JPanel contentPane;</p><p>  private JTextField textf;

98、</p><p>  private JTextField textl;</p><p>  private JTable table;</p><p><b>  /**</b></p><p>  * Launch the application.</p><p><b>  */&

99、lt;/b></p><p>  public static void main(String[] args) {</p><p>  EventQueue.invokeLater(new Runnable() {</p><p>  public void run() {</p><p><b>  try {</b&

100、gt;</p><p>  reportFrame frame = new reportFrame();</p><p>  frame.setVisible(true);</p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p>

101、<b>  }</b></p><p><b>  }</b></p><p><b>  });</b></p><p><b>  }</b></p><p><b>  /**</b></p><p> 

102、 * Create the frame.</p><p><b>  */</b></p><p>  public reportFrame() {</p><p>  setTitle("\u62A5\u8868");</p><p>  setResizable(false);</p>

103、<p>  this.addWindowListener(new WindowAdapter() {</p><p><b>  @Override</b></p><p>  public void windowClosing(WindowEvent arg0) {</p><p>  //只銷毀本窗口,不退出慮擬機(jī)</p

104、><p>  reportFrame.this.dispose();</p><p><b>  }</b></p><p><b>  });</b></p><p>  setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);</p>

105、<p>  this.setIconImage(new ImageIcon("image/person.JPG").getImage());</p><p>  setBounds(100, 100, 441, 342);</p><p>  contentPane = new JPanel();</p><p>  contentPa

106、ne.setBorder(new EmptyBorder(5, 5, 5, 5));</p><p>  setContentPane(contentPane);</p><p>  //設(shè)置背景===============</p><p>  ImageIcon img = new ImageIcon("image/chao.jpg");&

107、lt;/p><p>  final JLabel lblImg = new JLabel(img);</p><p>  this.getLayeredPane().add(lblImg,new Integer(Integer.MIN_VALUE));</p><p>  lblImg.setBounds(0, lblImg.getHeight(), 457, 542)

108、;</p><p>  ((JPanel)getContentPane()).setOpaque(false); </p><p>  //======================</p><p>  contentPane.setLayout(null);</p><p>  JLabel repo = new JLabel("

109、;\u62A5\u8868\u8BB0\u5F55");</p><p>  repo.setBounds(10, 25, 61, 15);</p><p>  contentPane.add(repo);</p><p>  JLabel lblNewLabel = new JLabel("\u65E5\u671F\uFF1A");&

110、lt;/p><p>  lblNewLabel.setBounds(81, 25, 39, 15);</p><p>  contentPane.add(lblNewLabel);</p><p>  textf = new JTextField();</p><p>  textf.setBounds(118, 22, 73, 21);<

111、/p><p>  contentPane.add(textf);</p><p>  textf.setColumns(10);</p><p>  JLabel label = new JLabel("\u5230");</p><p>  label.setBounds(224, 25, 21, 15);</p>

112、;<p>  contentPane.add(label);</p><p>  textl = new JTextField();</p><p>  textl.setColumns(10);</p><p>  textl.setBounds(241, 22, 72, 21);</p><p>  contentPane.

113、add(textl);</p><p>  JButton btnDate1 = new JButton("...");</p><p>  btnDate1.addMouseListener(new MouseAdapter() {</p><p><b>  @Override</b></p><p&

114、gt;  public void mouseClicked(MouseEvent event) {</p><p>  //彈出日期框 父窗口 模式 輸入框 x y </p><p>  new DatePanel(reportFrame.this,true,textf,event.getXOnScreen(),event.getYO

115、nScreen());</p><p><b>  }</b></p><p><b>  });</b></p><p>  btnDate1.setBounds(195, 22, 21, 23);</p><p>  contentPane.add(btnDate1);</p>&

116、lt;p>  JButton btnDate2 = new JButton("...");</p><p>  btnDate2.addMouseListener(new MouseAdapter() {</p><p><b>  @Override</b></p><p>  public void mouseCl

117、icked(MouseEvent event) {</p><p>  //彈出日期框 父窗口 模式 輸入框 x y </p><p>  new DatePanel(reportFrame.this,true,textl,event.getXOnScreen(),event.getYOnScreen());</p>&

118、lt;p><b>  }</b></p><p><b>  });</b></p><p>  btnDate2.setBounds(316, 21, 21, 23);</p><p>  contentPane.add(btnDate2);</p><p>  JScrollPane sc

119、rollPane = new JScrollPane();</p><p>  scrollPane.setBounds(10, 56, 413, 214);</p><p>  contentPane.add(scrollPane);</p><p><b>  //建表頭</b></p><p>  String[]

120、 header={"收入/支出項(xiàng)","日期","金額","備注"};</p><p><b>  //建數(shù)據(jù)模型</b></p><p>  dtm=new DefaultTableModel(null,header);</p><p>  table = new

121、JTable(dtm);</p><p>  scrollPane.setViewportView(table);</p><p>  JButton inquiry = new JButton("\u67E5\u8BE2");</p><p>  inquiry.addActionListener(this);</p><p

122、>  inquiry.setActionCommand("query");</p><p>  inquiry.setBounds(347, 21, 76, 23);</p><p>  contentPane.add(inquiry);</p><p>  JLabel outlabel = new JLabel("\u652F

123、\u51FA\u5408\u8BA1\uFF1A");</p><p>  outlabel.setBounds(10, 285, 72, 15);</p><p>  contentPane.add(outlabel);</p><p>  JLabel label_1 = new JLabel("\u6536\u5165\u5408\u8BA

124、1\uFF1A");</p><p>  label_1.setBounds(163, 285, 74, 15);</p><p>  contentPane.add(label_1);</p><p>  JLabel label_2 = new JLabel("\u4F59\u989D\uFF1A");</p><

125、;p>  label_2.setBounds(313, 285, 44, 15);</p><p>  contentPane.add(label_2);</p><p>  textoutsum = new JTextField();</p><p>  textoutsum.setBounds(87, 282, 66, 21);</p>&l

126、t;p>  contentPane.add(textoutsum);</p><p>  textoutsum.setColumns(10);</p><p>  textinsum = new JTextField();</p><p>  textinsum.setColumns(10);</p><p>  textinsum.s

127、etBounds(237, 282, 66, 21);</p><p>  contentPane.add(textinsum);</p><p>  textyu = new JTextField();</p><p>  textyu.setColumns(10);</p><p>  textyu.setBounds(357, 282,

128、 66, 21);</p><p>  contentPane.add(textyu);</p><p><b>  }</b></p><p>  static double insum=0,outsum=0,remanent=0;</p><p>  DefaultTableModel dtm=null;</p

129、><p>  private JTextField textoutsum;</p><p>  private JTextField textinsum;</p><p>  private JTextField textyu;</p><p>  public void actionPerformed(ActionEvent event) {&

130、lt;/p><p>  if(event.getActionCommand().equals("exit")){</p><p>  this.dispose();</p><p>  }else if(event.getActionCommand().equals("query")){</p><p> 

131、 //去數(shù)據(jù)庫(kù)查詢 得到數(shù)據(jù)</p><p>  QueryDao queryDao=new QueryDao();</p><p><b>  //取得集合</b></p><p>  ArrayList<InCome> inList=queryDao.getInList();</p><p>  Arra

132、yList<Out> outList=queryDao.getOutList();</p><p>  //清空表格的歷史數(shù)據(jù)</p><p>  dtm.setRowCount(0);</p><p>  insum=outsum=0;</p><p><b>  //顯示在表格中</b></p>

133、;<p>  for(InCome in:inList){</p><p>  //將數(shù)據(jù)加載到表格模型中out</p><p>  dtm.addRow(new Object[]{in.getInName(),in.getInDate(),in.getMoney(),in.getComment()});</p><p>  insum+=in.get

134、Money();</p><p>  textinsum.setText(String.valueOf(insum));</p><p><b>  }</b></p><p><b>  //顯示在表格中</b></p><p>  for(Out out:outList){</p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論