版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)項(xiàng)目十三 JDBC數(shù)據(jù)庫(kù)編程一、實(shí)驗(yàn)?zāi)康募耙?、掌握創(chuàng)建ODBC數(shù)據(jù)源2、掌握創(chuàng)建一個(gè)Student表3、運(yùn)用Type1(JDBC-ODBC橋)連接、訪問(wèn)數(shù)據(jù)庫(kù)4、實(shí)現(xiàn)數(shù)據(jù)庫(kù)的增刪改查操作二、實(shí)驗(yàn)內(nèi)容和要求1、在D盤建立sql文件夾,進(jìn)入該文件夾建立名為stu.mdb的數(shù)據(jù)庫(kù),打開,設(shè)計(jì)表結(jié)構(gòu)如下(參照P178表10-6),存盤,定表名為Students:打開表,可以添加2條記錄如下:2、創(chuàng)建ODBC數(shù)據(jù)源開始-設(shè)置-控制面板-管理工具-數(shù)據(jù)源,選擇“系統(tǒng)DSN”-“添加”,選第2項(xiàng)“Driver do Microsoft Access(*.Mdb)”(如下圖): 配置系統(tǒng)DNS(數(shù)據(jù)源
2、):StudentSystem 按照以下圖例進(jìn)行設(shè)置:數(shù)據(jù)源名,填StudentSystem,按“選擇”,選d:sql目錄下的stu.mdb:再按“高級(jí)”按鈕,登錄名填sa,密碼填sql,按“確定”。記住數(shù)據(jù)源的名字System,表的名字Students,登錄名sa,密碼sql,編程會(huì)用到。注意配置環(huán)境變量,Dos下加上 set path=C:Program FilesJavajdk1.6.0_20bin3、運(yùn)用Type1(JDBC-ODBC橋)連接、訪問(wèn)數(shù)據(jù)庫(kù)/P179,操作1 創(chuàng)建一個(gè)類Student,與上面的表Student是對(duì)接: class Student String No; /學(xué)
3、號(hào) String Name; /姓名 int Age; /年齡 String Sex; /性別 String Address; /住址 String Email; /電子郵件 String Phone; /聯(lián)系電話/創(chuàng)建學(xué)生對(duì)象,封裝數(shù)據(jù)/編寫Student構(gòu)造函數(shù)如下public Student(String No,String Name,int Age,String Sex,String Address,String Email,String Phone) this.No=No; this.Name=Name; this.Age=Age; this.Sex=Sex; this.Addres
4、s=Address; this.Email=Email; this.Phone=Phone; 編譯情況如下:運(yùn)行結(jié)果算法分析/P179,操作2 連接數(shù)據(jù)庫(kù):import java.sql.*; /導(dǎo)入包public class StudentSystem Connection conn; /數(shù)據(jù)庫(kù)連接對(duì)象 Statement stm; /執(zhí)行簡(jiǎn)單的SQL語(yǔ)句 PreparedStatement pstm;/執(zhí)行帶有參數(shù)的SQL語(yǔ)句 ResultSet rs; /保存查詢結(jié)果 StudentSystem()throws Exception /加載驅(qū)動(dòng)程序 Class.forName(sun.jd
5、bc.odbc.JdbcOdbcDriver); /連接數(shù)據(jù)庫(kù) conn=DriverManager.getConnection(jdbc:odbc:StudentSystem,sa,sql); /操作3 : 顯示數(shù)據(jù)表的內(nèi)容: /查詢并顯示所有學(xué)生信息 void selectAll()throws SQLException stm=conn.createStatement();/創(chuàng)建Statement對(duì)象 rs=stm.executeQuery(select * from Students);/執(zhí)行SQL語(yǔ)句 /判斷是否有查詢結(jié)果并顯示 while(rs.next() printAll();
6、 System.out.println(-); closeAll();/關(guān)閉Statement對(duì)象和ResultSet結(jié)果集 /操作4 增: 插入一條記錄到數(shù)據(jù)表中: /插入學(xué)生信息 void insertStudent(Student s)throws SQLException /創(chuàng)建帶有參數(shù)的preparedStatement對(duì)象 pstm=conn.prepareStatement(insert into Students values(?,?,?,?,?,?,?); /為參數(shù)賦值 setValue(s); /執(zhí)行SQL語(yǔ)句 pstm.executeUpdate(); /關(guān)閉prepar
7、edStatement對(duì)象 pstm.close(); /操作5 刪: 刪除滿足條件的記錄:/刪除指定學(xué)號(hào)的學(xué)生 void deleteNo(String No)throws SQLException pstm=conn.prepareStatement(delete from Students where StudentNo=?); pstm.setString(1,No); pstm.executeUpdate(); /操作6 改: 修改數(shù)據(jù)表的內(nèi)容: /修改指定學(xué)號(hào)的學(xué)生信息 /* void updateStudent(Student s)throws SQLException pstm
8、=conn.prepareStatement(update Students set StudentNo=?,Name=?,Age=?,Sex=?,Address=?,Email=?,Phone=? where StudentNo=?); setValue(s); pstm.setString(8,s.No); pstm.executeUpdate(); pstm.close(); */ /操作7 查: 查找滿足條件的記錄: /按照指定的學(xué)號(hào)查找特定學(xué)生信息 void selectNo(String No)throws SQLException stm=conn.createStatement
9、(); rs=stm.executeQuery(select * from Students where StudentNo=+No+); if(rs.next() printAll(); closeAll(); /操作8 綜合處理: /用來(lái)顯示數(shù)據(jù)庫(kù)中的數(shù)據(jù) private void printAll()throws SQLException System.out.println(學(xué)號(hào):+rs.getString(1); System.out.println(姓名:+rs.getString(2); System.out.println(年齡:+rs.getInt(3); System.ou
10、t.println(性別:+rs.getString(4); System.out.println(地址:+rs.getString(5); System.out.println(Email:+rs.getString(6); System.out.println(電話:+rs.getString(7); /用來(lái)為參數(shù)設(shè)定值 private void setValue(Student s)throws SQLException pstm.setString(1,s.No); /pstm.setString(StudentNo,s.No); pstm.setString(2,s.Name); /
11、pstm.setString(Name,s.Name); pstm.setInt(3,s.Age); /pstm.setInt(Age,s.Age); pstm.setString(4,s.Sex); /pstm.setString(Sex,s.Sex); pstm.setString(5,s.Address);/pstm.setString(Address,s.Address); pstm.setString(6,s.Email); /pstm.setString(Email,s.Email); pstm.setString(7,s.Phone); /pstm.setString(Phone
12、,s.Phone); /關(guān)閉結(jié)果集和Statement對(duì)象 private void closeAll()throws SQLException rs.close(); stm.close(); /關(guān)閉連接 void closeConn()throws SQLException conn.close(); 將上述代碼存入d:j文件夾,名為StudentSystem.java,編譯情況如下:運(yùn)行結(jié)果算法分析4、實(shí)現(xiàn)數(shù)據(jù)庫(kù)的增刪改查操作/p181,主控程序class MainStudent public static void main(String args)throws Exception /
13、創(chuàng)建數(shù)據(jù)庫(kù)操作類實(shí)例 StudentSystem ss=new StudentSystem(); /創(chuàng)建學(xué)生對(duì)象 Student s1=new Student(20053051103,李三,22,男,河北 ,168755955,12345908945); Student s2=new Student(20053051105,王五,21,男,湖北 ,12345908846); Student s3=new Student(20053051106,劉萍,22,女,江西 ,12345908965); Student s4=new Student(20053051107,黃志彬,21,男,湖北 ,12
14、345778849); /將學(xué)生信息寫入數(shù)據(jù)庫(kù) ss.insertStudent(s1); ss.insertStudent(s2); ss.insertStudent(s3); ss.insertStudent(s4); /查找指定學(xué)號(hào)學(xué)生 /ss.selectNo(20053051101); /修改學(xué)生信息 /ss.updateStudent(s); /刪除指定學(xué)號(hào)學(xué)生信息 /ss.deleteNo(20053051102); /顯示所有學(xué)生信息 ss.selectAll(); /關(guān)閉數(shù)據(jù)庫(kù)連接 ss.closeConn(); 增加4條記錄并顯示:查找學(xué)號(hào)為20053051106 的學(xué)生:class MainStudent public static void main(String args)throws Exception /創(chuàng)建數(shù)據(jù)庫(kù)操作類實(shí)例 StudentSystem ss=new StudentSystem(); /創(chuàng)建學(xué)生對(duì)象 /查找指定學(xué)號(hào)學(xué)生 ss.selectNo(20053051106); ss.closeConn(); 刪除學(xué)號(hào)為20053051106 的學(xué)生:class MainStudent public static
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 消防車新司機(jī)招聘模板
- 藝術(shù)品展覽館建設(shè)施工合同開發(fā)商
- 員工職業(yè)發(fā)展與員工福利
- 化工原料采購(gòu)招投標(biāo)立項(xiàng)審批表
- 環(huán)衛(wèi)工程合同簽訂流程規(guī)范
- 火車空調(diào)設(shè)備窗維修合同
- 廣告機(jī)維修合同范例
- 會(huì)計(jì)跟客戶合同范例
- 推廣照拍攝合同范例
- 基礎(chǔ)篇1、松下電器歷史簡(jiǎn)介
- 學(xué)生餐飲方面的消費(fèi)者行為分析
- 汽車維修價(jià)格表
- 川氣東送武漢隧道內(nèi)雙管安裝技術(shù)
- 中班音樂(lè)韻律游戲《阿凡提尋寶記》原版有聲動(dòng)態(tài)PPT課件
- 空調(diào)水系統(tǒng)的節(jié)能措施以及水泵調(diào)節(jié)
- 奇妙的黃金數(shù)在生活中廣泛應(yīng)用學(xué)習(xí)資料
- 采煤機(jī)司機(jī)安全培訓(xùn)
- 大氣物理學(xué)題庫(kù)
- 24.作用于消化系統(tǒng)的藥物——山東大學(xué)藥理學(xué)英文課件
- 反家庭暴力法 精美(課堂PPT)
評(píng)論
0/150
提交評(píng)論