2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩14頁未讀, 繼續(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>  Java課程設(shè)計(jì)報(bào)告</p><p>  系 (院): 計(jì)算機(jī)科學(xué)學(xué)院 </p><p>  專業(yè)班級(jí): 石油軟件工程10901班 </p><p>  姓 名: </p><p>  學(xué) 號(hào):

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

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

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

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

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

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

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

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

10、數(shù)據(jù)、修改數(shù)據(jù)、刪除數(shù)據(jù)等功能。</p><p>  總體設(shè)計(jì)框架(主要功能)</p><p><b>  詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)過程</b></p><p>  JDBC驅(qū)動(dòng)程序的裝載</p><p> ?。?) 安裝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>  (2)在MyEclipse中配置JDBC</p><p>  選擇菜單Project>Properties,選擇Java Build Path

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

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

14、t;b>  跳出這個(gè)窗口</b></p><p>  然后我就查看了SQL Server 2005 網(wǎng)絡(luò)配置, 下面有個(gè) 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ū)動(dòng)程序的端口,我在我的SQl Server Management Studio新建查詢里輸入exec sys.sp_readerrorlog 0, 1, 'listening'運(yùn)行后 得到我的sql 正在運(yùn)行的tcp/ip接口。</p&g

16、t;<p><b>  實(shí)現(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是我本機(jī)上的端口,一般的默認(rèn)端口是1433</p><p><b>  try{</b></p><p>  Class.forName(dbDriver);</p

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

19、><p><b>  return ;</b></p><p><b>  }</b></p><p><b>  詳數(shù)據(jù)庫連接</b></p><p><b>  實(shí)現(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ù)庫對(duì)象</p><p>  myprint("數(shù)據(jù)庫連接

21、成功");</p><p>  }catch(Exception ex){</p><p>  ex.printStackTrace();</p><p>  myprint("數(shù)據(jù)庫連接錯(cuò)誤");</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>  實(shí)現(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,及這個(gè)類的set方法和excute

29、方法。</p><p><b>  代碼實(shí)現(xiàn)如下:</b></p><p>  myprint("輸入學(xué)生的學(xué)號(hào)、姓名、性別、年齡、成績(jī):");</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("輸入要?jiǎng)h除的學(xué)生的學(xué)號(hào)");</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>  運(yùn)行結(jié)果界面</b></p><p><b>

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

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

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

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

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

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)論