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

下載本文檔

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

文檔簡介

1、<p>  Java課程設(shè)計報告</p><p>  系 (院): 計算機科學(xué)學(xué)院 </p><p>  專業(yè)班級: 石油軟件工程10901班 </p><p>  姓 名: </p><p>  學(xué) 號:

2、 </p><p>  指導(dǎo)教師: </p><p>  設(shè)計時間: 2011.12.1 - 2011.12.15 </p><p>  設(shè)計地點: </p><p><b>  前言<

3、/b></p><p>  自1946年第一臺計算機問世以來,計算機產(chǎn)業(yè)的飛速發(fā)展已遠遠超出人們對它的預(yù)料,在某些生產(chǎn)線上,甚至一秒鐘就能生產(chǎn)出一臺微型計算機,產(chǎn)量猛增,價格低廉,這就使得它的應(yīng)用范圍迅速擴展。如今,計算機已深入到人類社會的各個領(lǐng)域。各種應(yīng)用程序不斷地被開發(fā)應(yīng)用,隨之程序設(shè)計語言也不斷發(fā)展完善,Java便是這程序語言世界里的一朵奇葩,如今甚為流行。與C++語言相比,Java是一種完全面向?qū)ο?/p>

4、的語言,它吸取了C++語言的語句結(jié)構(gòu),去掉了指針、多繼承、運算符重載等這些降低安全性、低可靠性的語言元素,并實現(xiàn)了自動回收垃圾的功能,從而使得Java語言更具有可移植性、魯棒性、安全性、與環(huán)境無關(guān)性等特點,贏得了廣大軟件開發(fā)者的青睞。</p><p>  今天,作為計算機科學(xué)與技術(shù)及相關(guān)專業(yè)的學(xué)生,更應(yīng)該了解Java語言的語法規(guī)范,理解Java語言程序設(shè)計的基本特點,掌握利用Java語言編寫程序的基本技巧,學(xué)會利

5、用Java開發(fā)環(huán)境調(diào)試程序。為了更進一步將所學(xué)知識與實際結(jié)合起來,我選擇了實現(xiàn)Java與SQL Server2005的連接,并實現(xiàn)了一些功能。故作此報告。</p><p><b>  目錄</b></p><p><b>  前言2</b></p><p>  一、課程設(shè)計目的2</p><p&g

6、t;  二、設(shè)計任務(wù)及要求2</p><p><b>  三、任務(wù)選定2</b></p><p>  四、總體設(shè)計框架圖(主要功能)3</p><p>  五、詳細設(shè)計與實現(xiàn)過程4</p><p>  六、課程設(shè)計小結(jié)10</p><p>  七、參考文獻10</p&

7、gt;<p><b>  附錄12</b></p><p><b>  課程設(shè)計目的</b></p><p>  1、進一步熟悉Java開發(fā)環(huán)境,熟悉用Java完成一個應(yīng)用程序的設(shè)計過程,掌握有關(guān)編輯、調(diào)試和整合程序的方法和技巧。</p><p>  2、通過此設(shè)計,了解Java語言的特點;熟悉Java程序

8、的編寫;體會Java語言在問題求解中的特點。</p><p>  3、總結(jié)學(xué)習(xí)Java語言的心得和體會,并對Java課程設(shè)置提出自己的意見和建議。</p><p><b>  設(shè)計任務(wù)及要求</b></p><p>  根據(jù)Java課程的學(xué)習(xí),選擇以下所列中的任一,并完成:</p><p>  設(shè)計一個Java的應(yīng)用程序

9、;</p><p>  分析一個Java的應(yīng)用系統(tǒng)的開發(fā)方案;</p><p>  寫出對Java類的框架的理解。</p><p><b>  任務(wù)選定</b></p><p>  根據(jù)我對Java語言的學(xué)習(xí)和了解,結(jié)合本學(xué)期我們開了數(shù)據(jù)庫的課程,于是我決定做一個Java與數(shù)據(jù)庫連接的程序,并且實現(xiàn)創(chuàng)建表、插入數(shù)據(jù)、查詢

10、數(shù)據(jù)、修改數(shù)據(jù)、刪除數(shù)據(jù)等功能。</p><p>  總體設(shè)計框架(主要功能)</p><p><b>  詳細設(shè)計與實現(xiàn)過程</b></p><p>  JDBC驅(qū)動程序的裝載</p><p>  (1) 安裝JDBC</p><p>  首先將下載的sqljdbc_1.2.2323.101_e

11、nu。exe(即Microsoft SQL Server 2005 JDBC Driver 1.2中文版)解壓縮到C:\Program Files\Microsoft SQL Server 2005 JDBC Driver</p><p> ?。?)在MyEclipse中配置JDBC</p><p>  選擇菜單Project>Properties,選擇Java Build Path

12、,點擊按鈕Add External JARs…后在打開的對話框中選擇sqljdbc.jar文件。然后就會看到sqljdbc.jar被加進去了。</p><p>  因為我采用的是Windows集成認證,而不是如同username=sa;passwd=’123456’這樣的SQL網(wǎng)絡(luò)認證,因此我還要做一件事情就是將sqljdbc_auth.dll文件復(fù)制到項目文件夾中。Sqljdbc_auth.dll位于C:\P

13、rogram Files\Microsoft SQL Server 2005 JDBC Driver\sqljdbc_1.2\chs\auth\x86文件夾下。復(fù)制到項目文件夾下后,就會看到:</p><p>  還需要從“開始”里的“所有程序” 里打開 “microsoft sqlserver ”的 SQL Server Configuration Manager,</p><p>&l

14、t;b>  跳出這個窗口</b></p><p>  然后我就查看了SQL Server 2005 網(wǎng)絡(luò)配置, 下面有個 SQLEXPRESS 的協(xié)議, 我的 TCP/IP 是 禁用狀態(tài) , 于是我把它給啟用了。</p><p><b>  啟用后:</b></p><p>  然后我又去看了一下 SQL Nativer Cl

15、ient 配置狀態(tài),如下</p><p>  然后重啟了SQL Server服務(wù)器。</p><p>  為了獲取加載JDBC驅(qū)動程序的端口,我在我的SQl Server Management Studio新建查詢里輸入exec sys.sp_readerrorlog 0, 1, 'listening'運行后 得到我的sql 正在運行的tcp/ip接口。</p&g

16、t;<p><b>  實現(xiàn)代碼如下:</b></p><p>  String dbDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";</p><p>  String dbUrl= "jdbc:sqlserver://localhost:1384;</p

17、><p>  integratedSecurity=true;databaseName=JavaLinkDB";</p><p>  //1384是我本機上的端口,一般的默認端口是1433</p><p><b>  try{</b></p><p>  Class.forName(dbDriver);</p

18、><p>  myprint("驅(qū)動程序已經(jīng)裝載!");</p><p>  myprint("即將連接數(shù)據(jù)庫");</p><p>  }catch(Exception ex){</p><p>  myprint("無法加載驅(qū)動程序:"+ex.getMessage());</p

19、><p><b>  return ;</b></p><p><b>  }</b></p><p><b>  詳數(shù)據(jù)庫連接</b></p><p><b>  實現(xiàn)代碼</b></p><p>  Connection conn

20、= null;</p><p><b>  try{</b></p><p><b>  //創(chuàng)建SQL命令</b></p><p>  conn = DriverManager.getConnection(dbUrl);//連接數(shù)據(jù)庫對象</p><p>  myprint("數(shù)據(jù)庫連接

21、成功");</p><p>  }catch(Exception ex){</p><p>  ex.printStackTrace();</p><p>  myprint("數(shù)據(jù)庫連接錯誤");</p><p>  System.exit(0);</p><p><b> 

22、 }</b></p><p><b>  創(chuàng)建數(shù)據(jù)表</b></p><p><b>  //創(chuàng)建表</b></p><p>  String creatTable = "IF OBJECT_ID('S')IS NOT NULL Drop TABLE S ;Create TABLE &

23、quot; +</p><p>  "S(No NCHAR(4),NAME NCHAR(10),SEX NCHAR(1),AGE INT,GRADE FLOAT)";</p><p>  java.sql.Statement stat = conn.createStatement();</p><p>  stat.executeUpdate(c

24、reatTable);</p><p>  myprint("表創(chuàng)建成功");</p><p><b>  向表中插入數(shù)據(jù)</b></p><p>  用到的類Statement</p><p><b>  實現(xiàn)代碼:</b></p><p><b&

25、gt;  //往表中添加數(shù)據(jù)</b></p><p>  String s1 = "INSERT INTO S VALUES('1001','田婷婷','女','21','89.5')"; </p><p>  String s2 = "INSERT INTO S VA

26、LUES('1002','胡化騰','男','21','92.5')"; </p><p>  String s3 = "INSERT INTO S VALUES('1003','陳明陽','男','20','88.5')";

27、 </p><p>  String s4 = "INSERT INTO S VALUES('1004','吳歡歡','女','21','87.5')"; </p><p>  stat.executeUpdate(s1);</p><p>  stat.execut

28、eUpdate(s2);</p><p>  stat.executeUpdate(s3);</p><p>  stat.executeUpdate(s4);</p><p><b>  帶參數(shù)的數(shù)據(jù)插入</b></p><p>  主要使用到的類是PreparedStatement,及這個類的set方法和excute

29、方法。</p><p><b>  代碼實現(xiàn)如下:</b></p><p>  myprint("輸入學(xué)生的學(xué)號、姓名、性別、年齡、成績:");</p><p>  String no,name;</p><p>  String sex;</p><p><b> 

30、 int age;</b></p><p>  float grade;</p><p>  Scanner in = new Scanner(System.in);</p><p>  no=in.nextLine();</p><p>  name=in.nextLine();</p><p>  se

31、x=in.nextLine();</p><p>  age=in.nextInt();</p><p>  grade=in.nextFloat();</p><p>  PreparedStatement pstat = conn.prepareStatement( "INSERT INTO S VALUES(?,?,?,?,?)");<

32、;/p><p>  pstat.setString(1, no);</p><p>  pstat.setString(2, name);</p><p>  pstat.setString(3, sex);</p><p>  pstat.setInt(4, age);</p><p>  pstat.setFloat(

33、5, grade);</p><p>  pstat.execute();</p><p>  myprint("數(shù)據(jù)插入成功");</p><p><b>  查詢表中的數(shù)據(jù)</b></p><p>  主要使用到的類是ResultSet</p><p>  rs = st

34、at.executeQuery("SELECT * FROM S");</p><p>  while(rs.next()){</p><p>  myprint(rs.getString("No")+'\t'+rs.getString("NAME") +'\t'+</p><p

35、>  rs.getString("SEX")+'\t'+rs.getInt("AGE")+'\t'+rs.getFloat("GRADE"));</p><p><b>  }</b></p><p>  myprint("讀取完畢");</p&

36、gt;<p><b>  刪除表中的數(shù)據(jù)</b></p><p><b>  try{</b></p><p><b>  //刪除學(xué)生</b></p><p>  myprint("輸入要刪除的學(xué)生的學(xué)號");</p><p>  Scann

37、er myin = new Scanner(System.in);</p><p>  String nodelete;</p><p>  nodelete = myin.nextLine();</p><p>  PreparedStatement pstat1 = conn.prepareStatement( "DELETE S FROM S

38、 WHERE NO=?");</p><p>  pstat1.setString(1, nodelete);</p><p>  myprint("刪除成功");</p><p>  rs.close();</p><p>  pstat1.close();</p><p>  conn

39、.close();</p><p>  }catch(SQLException ex){</p><p>  ex.printStackTrace();</p><p><b>  }</b></p><p><b>  運行結(jié)果界面</b></p><p><b>

40、;  課程設(shè)計小結(jié)</b></p><p>  在使用Java程序編寫這個程序以前我總是覺得學(xué)計算機,或者從事軟件開發(fā)學(xué)習(xí)不需要掌握太多的語言,精通一門語言就可以一通百通。我們之前學(xué)習(xí)過C++和C#,于我而言,課堂上的學(xué)習(xí)只是老師把我們領(lǐng)到了這兩門語言的門口,也就是說要想對這兩門語言有更深入的了解是需要花很多時間的,所以我花在學(xué)習(xí)Java上的精力不夠。但是在這學(xué)期的學(xué)習(xí)過程中加上這次做這個程序的過程中

41、我才發(fā)現(xiàn)Java語言有它自身的特點。認識到這門語言有它自身的特點。</p><p>  在這次的寫程序過程中,遇到了很多問題,尤其是在驅(qū)動程序裝載過程中,問題頻頻。每當遇到問題時我便上網(wǎng)搜索不懂的東西,幾經(jīng)摸索才把這些問題解決??墒瞧鹣鹊臅r候覺得連接數(shù)據(jù)庫很難,所以之前一直沒有想用Java連接數(shù)據(jù)庫去做一個什么程序,當時想的就是把數(shù)據(jù)庫連接上,所以做成現(xiàn)在這個樣子。</p><p><

42、;b>  參考資料</b></p><p>  [1] 葉乃文,王丹.Java語言程序設(shè)計教材[M].北京:機械工業(yè)出版社.2009.</p><p>  [2]尹志宇,郭晴.數(shù)據(jù)庫原理與應(yīng)用教程——SQL Server[M].北京: 清華大學(xué)出版社,2005. </p><p><b>  指導(dǎo)老師意見:</b></p

43、><p>  成績: 教師簽名: </p><p>  年 月 日</p><p><b>  附錄:</b></p><p><b>  JDBC驅(qū)動類型</b></p><p

44、>  第一類驅(qū)動程序把JDBC轉(zhuǎn)換成ODBC驅(qū)動器,靠ODBC驅(qū)動器和數(shù)據(jù)庫通信。Sun公司在JDK中提供了這樣的一個驅(qū)動器:Java/JDBC網(wǎng)橋。但是,這個網(wǎng)橋不支持JDBC2,并且它需要正確部署和配置一個ODBC驅(qū)動程序。這個網(wǎng)橋便于調(diào)試,但不贊成用它開發(fā)產(chǎn)品。</p><p>  第二類驅(qū)動程序的源代碼由兩部分組成:一部分是Java語言代碼,另一部分是本地代碼。這類驅(qū)動程序和一個數(shù)據(jù)庫客戶的API通

45、信。當使用這類驅(qū)動程序時,除了Java庫外還必須安裝能在指定平臺上運行的代碼。</p><p>  第三類驅(qū)動程序是一個純Java客戶庫,它使用一個獨立于數(shù)據(jù)庫的協(xié)議,把數(shù)據(jù)庫請求傳送給服務(wù)一個服務(wù)器組件,這個組件把數(shù)據(jù)庫請求轉(zhuǎn)換成指定數(shù)據(jù)庫協(xié)議接收的請求。Java客戶庫獨立于具體的數(shù)據(jù)庫,因此簡化了部署過程。</p><p>  第四類驅(qū)動程序是一個純Java庫,它直接把JDBC請求轉(zhuǎn)換

46、成指定數(shù)據(jù)庫協(xié)議接收的請求。</p><p>  二、java鏈接SQL Server 時到主機的TCP/IP 連接失敗是什么錯誤? </p><p>  解決方案:1 首先要做的是在sql新建查詢里輸入exec sys.sp_readerrorlog 0, 1, 'listening'運行后 會顯示你的sql 正在運行的tcp/ip接口看看是否和你java代碼中

47、指定的url中的接口不一致2 你看一下服務(wù)器的TCP/IP是否被禁用了,sqlserver2005默認情況下是禁用了TCP/IP連接。啟動TCP/IP連接的方法:開始\程序\Microsoft SQL Server 2005\配置工具\目錄下的SQL Server Configuration Manager,選擇mssqlserver協(xié)議, 然后右邊窗口有個tcp/ip協(xié)議,然后啟動它,把sqlserver服務(wù)停了再啟動。3.設(shè)

48、置 “開始\程序\Microsoft SQL Server 2005\配置工具\SQL Server 外圍應(yīng)用配置器” 在“SQL Server 2005 外圍應(yīng)用配置器”頁, 單擊“服務(wù)和連接的外圍應(yīng)用配置器” ,然后單擊展開“數(shù)據(jù)庫引擎”, 選中“遠程連接”,在右邊選中“本地連接和遠程連接”, 再選擇要使用的協(xié)議,( 這個地方應(yīng)當啟用T</p><p>  我按方法一在sql新建查詢里輸入exec sys.

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論