版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、JAVA高級應(yīng)用課程實驗實驗二 JDBC編程 姓名:沈萬琴學號:20095500班級:電子商務(wù)09-2班學校: 合肥工業(yè)大學 2011年11月26日一、實驗目的通過Java數(shù)據(jù)庫訪問程序的編寫、調(diào)試,掌握JDBC編程的基本方法,熟悉并熟練運用常用的JDBC API,促加深對概念的理解,進一步加強動手能力。二、實驗內(nèi)容(1)復習數(shù)據(jù)庫SQL語句的編寫。(2)編寫Java數(shù)據(jù)庫(使用ODBC-JDBC驅(qū)動)公共模塊。(3)建立數(shù)據(jù)庫應(yīng)用模型,對數(shù)據(jù)庫進行查詢、更新、修改、刪除操作。(4)調(diào)試程序,實現(xiàn)數(shù)據(jù)庫的訪問。三、實驗代碼程序結(jié)果實現(xiàn)對數(shù)據(jù)庫的查詢 代碼如下import java.awt.*;
2、import java.sql.*;class aapublic static void main(String args) String url="jdbc:odbc:bobo" /打開通過JDBC-ODBC橋來訪問bobo數(shù)據(jù)庫String a="SELECT * FROM students"/設(shè)定查詢字符串 tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");/加載驅(qū)動程序 catch(Exception e)/捕獲加載驅(qū)動程序可能出現(xiàn)異常 System.out.print(&quo
3、t;連接數(shù)據(jù)庫出錯!"); /輸出數(shù)據(jù)庫中信息tryConnection b=DriverManager.getConnection(url);/建立連接Statement c=b.createStatement();ResultSet r=c.executeQuery(a);/執(zhí)行查詢 System.out.println("數(shù)據(jù)庫連接成功,表中內(nèi)容為:n");System.out.println("學號"+" "+"姓名"+" "+"課程"+" &qu
4、ot;+"學分"+" "+"分數(shù)");while(r.next()/循環(huán)輸出數(shù)據(jù)庫中students表中的數(shù)據(jù)Long i1=r.getLong("學號");String i2=r.getString("姓名");String i3=r.getString("課程"); Double i4=r.getDouble("學分");int i5=r.getInt("分數(shù)");System.out.println(i1+" "
5、;+i2+" "+i3+" "+i4+" "+i5); /關(guān)閉所有打開的資源r.close();c.close(); b.close();catch(SQLException e) System.out.print("連接數(shù)據(jù)庫出錯,錯誤原因可能有:n");e.printStackTrace();運行程序,輸出數(shù)據(jù)庫中數(shù)據(jù),運行結(jié)果如下圖:在students表中修改一條記錄代碼如下import java.awt.*;import java.sql.*;class aapublic static void main(
6、String args) String url="jdbc:odbc:bobo"/打開通過JDBC-ODBC橋來訪問bobo數(shù)據(jù)庫String a="SELECT * FROM students1"/設(shè)定查詢字符串 try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");/加載驅(qū)動程序 catch(Exception e)/捕獲加載驅(qū)動程序可能出現(xiàn)異常 System.out.print("連接數(shù)據(jù)庫出錯!"); /修改一條記錄tryConnection b =Driver
7、Manager.getConnection(url); tatement c =b.createStatement( ); c.executeUpdate("UPDATE studengts1 SET 課程=物理,學分=4 WHERE 學號=01"); ResultSet r=c.executeQuery(a);System.out.println("數(shù)據(jù)庫連接成功,表中內(nèi)容為:n");System.out.println("學號:"+" "+"姓名"+" "+"課
8、程"+" "+"學分"+" "+"分數(shù)");while(r.next()Long i1=r.getLong("學號");String i2=r.getString("姓名");String i3=r.getString("課程"); Double i4=r.getDouble("學分");int i5=r.getInt("分數(shù)");System.out.println(i1+" "+i2
9、+" "+i3+" "+i4+" "+i5);r.close();c.close(); b.close(); catch(SQLException e) e.printStackTrace();運行程序,輸出數(shù)據(jù)庫中進行修改后的數(shù)據(jù),運行結(jié)果如下圖:在students表中刪除一條記錄 代碼如下:import java.awt.*;import java.sql.*;class aapublic static void main(String args) String url="jdbc:odbc:bobo"/打開通
10、過JDBC-ODBC橋來訪問bobo數(shù)據(jù)庫String a="SELECT * FROM students1"/設(shè)定查詢字符串 tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");/加載驅(qū)動程序 catch(Exception e)/捕獲加載驅(qū)動程序可能出現(xiàn)異常 System.out.print("連接數(shù)據(jù)庫出錯!"); /刪除一條記錄try Connection b =DriverManager.getConnection(url); Statement c =b.createState
11、ment( ); c.executeUpdate("DELETE FROM students1 WHERE 學號=02"); ResultSet r=c.executeQuery(a); while(r.next()Long i1=r.getLong("學號");String i2=r.getString("姓名");String i3=r.getString("課程"); Double i4=r.getDouble("學分");int i5=r.getInt("分數(shù)");S
12、ystem.out.println(i1+" "+i2+" "+i3+" "+i4+" "+i5);r.close();c.close(); b.close(); catch(SQLException e) e.printStackTrace();運行程序,輸出數(shù)據(jù)庫中進行刪除操作后數(shù)據(jù),運行結(jié)果如下圖:在students表中插入一條記錄 代碼如下:import java.awt.*;import java.sql.*;class aapublic static void main(String args) Str
13、ing url="jdbc:odbc:bobo"/打開通過JDBC-ODBC橋來訪問bobo數(shù)據(jù)庫String a="SELECT * FROM students1"/設(shè)定查詢字符串 tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");/加載驅(qū)動程序 catch(Exception e)/捕獲加載驅(qū)動程序可能出現(xiàn)異常 System.out.print("連接數(shù)據(jù)庫出錯!"); /添加一條記錄tryConnection b =DriverManager.getConnec
14、tion(url); Statement c =b.createStatement( ); c.executeUpdate("INSERT INTO book1(學號,姓名,課程,學分,分數(shù)) VALUES(06,'陳博','思修',2,85)"); ResultSet r=c.executeQuery(a); System.out.println("學號:"+" "+"姓名"+" "+"課程"+" "+"學分&q
15、uot;+" "+"分數(shù)"); while(r.next()Long i1=r.getLong("學號");String i2=r.getString("姓名");String i3=r.getString("課程"); Double i4=r.getDouble("學分");int i5=r.getInt("分數(shù)");System.out.println(i1+" "+i2+" "+i3+" "
16、+i4+" "+i5);r.close();c.close(); b.close(); catch(SQLException e) e.printStackTrace();運行程序,輸出數(shù)據(jù)庫進行插入后的數(shù)據(jù),運行結(jié)果如下圖:四、驗過程中遇到的問題及解決方法程序開始之前不知道如何建立ODBC數(shù)據(jù)源,在這一環(huán)浪費了很多時間,后來知要在Windows系統(tǒng)控制面板中,選擇“數(shù)據(jù)源(ODBC)”,在系統(tǒng)DSN中,選擇“添加”,然后,建立一個名為bobo的數(shù)據(jù)源,并且設(shè)置數(shù)據(jù)源為需要使用的SQL Server ,即這里假設(shè)為本地SQL Server 數(shù)據(jù)源,如果數(shù)據(jù)源不在本地,則要修改。最后單擊“完成”按鈕,建立ODBC數(shù)據(jù)源。2在執(zhí)行創(chuàng)建RssultSet類對象r時,把代碼寫成了:ResultSet r=c.executeQuery();編譯程序,出現(xiàn)了下面的錯誤:無法將java.sql.Statemeng中的.executeQuery(java.lang.string)應(yīng)用到1.java??凑n件知:先沒有預編譯,所以一定有一個參數(shù)給.executeQuery()方法來返回一個結(jié)果集
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑施工人員安全培訓方案
- 法律事務(wù)所年度培訓工作總結(jié)
- XX鄉(xiāng)旅游產(chǎn)業(yè)發(fā)展實施方案
- 青島2024年03版小學3年級下冊英語第3單元期中試卷
- 農(nóng)業(yè)灌溉混凝土重力壩實施方案
- KOL合作合同(可直接使用)
- IT服務(wù)外包合同
- 砂石料采購與驗收協(xié)議
- 牡丹江2024年07版小學5年級下冊英語第一單元真題試卷
- 農(nóng)業(yè)合作社董事長聘用合同
- 一年級上冊全冊道德與法治教案全
- 中班健康《身體上的洞洞》課件
- GB/T 9452-2023熱處理爐有效加熱區(qū)測定方法
- 停車場施工方案及技術(shù)措施范本
- 高考地理一輪復習課件【知識精講+高效課堂】美食與地理環(huán)境關(guān)系
- 分居聲明告知書范本
- 2023年04月山東濟南市槐蔭區(qū)殘聯(lián)公開招聘殘疾人工作“一專兩員”公開招聘筆試參考題庫+答案解析
- 消失的13級臺階
- 營銷管理知識點
- 船體強度與結(jié)構(gòu)設(shè)計課程設(shè)計
- 不寧腿綜合征診斷與治療
評論
0/150
提交評論