九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

Ch05-數(shù)據(jù)庫編程

上傳人:fgh****35 文檔編號:247450953 上傳時間:2024-10-18 格式:PPT 頁數(shù):42 大?。?58KB
收藏 版權(quán)申訴 舉報 下載
Ch05-數(shù)據(jù)庫編程_第1頁
第1頁 / 共42頁
Ch05-數(shù)據(jù)庫編程_第2頁
第2頁 / 共42頁
Ch05-數(shù)據(jù)庫編程_第3頁
第3頁 / 共42頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《Ch05-數(shù)據(jù)庫編程》由會員分享,可在線閱讀,更多相關(guān)《Ch05-數(shù)據(jù)庫編程(42頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,E-mail:,ise_qiaosp,42,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,濟南大學(xué)信息科學(xué)與工程學(xué)院,制作人:喬善平,課程:,Java,程序設(shè)計,e-mail,:,ise_qiaosp,單擊此處編輯母版標(biāo)題樣式,E-mail:,ise_qiaosp,E-mail:,ise_qiaosp,E-mail:,ise_qiaosp,E-mail:,ise_qiaosp,3,概念:,JDBC,及驅(qū)動程序,數(shù)據(jù)庫:,MS Access,;,MS Excel,;,JavaDB,

2、數(shù)據(jù)庫連接(,JDBC URL,),數(shù)據(jù)庫訪問(含,SQL,),本章目標(biāo),Ch05-,數(shù)據(jù)庫,主要的包、類及接口,java.sql,DriverManager,Connection,Statement,(,PreparedStatement,;,CallableStatement,),ResultSet,DatabaseMetaData,;,ResultSetMetaData,濟南大學(xué)信息科學(xué)與工程學(xué)院,制作人:喬善平,課程:,Java,程序設(shè)計,e-mail,:,ise_qiaosp,實例,使用,JavaDB,設(shè)計一個單選題數(shù)據(jù)庫,設(shè)計一個類,實現(xiàn)下列功能:,連接數(shù)據(jù)庫,隨機選擇,n,道題目

3、,輸出題目內(nèi)容,考慮難度和分布選擇,n,道題目,練習(xí)對,Excel,的操作(,student.xls,),練習(xí)對,Access,的操作(,words.mdb,),濟南大學(xué)信息科學(xué)與工程學(xué)院,制作人:喬善平,課程:,Java,程序設(shè)計,e-mail,:,ise_qiaosp,數(shù)據(jù)庫編程,概述,基本,SQL,語句,訪問數(shù)據(jù)庫,實例,本章基本要求,了解,JDBC,及其驅(qū)動程序的類型,熟悉基本的,SQL,語句,會訪問數(shù)據(jù)庫,概述,常用數(shù)據(jù)庫,Java DB,MySQL,Microsoft Access,Microsoft SQL Server,Oracle,Sybase,濟南大學(xué)信息科學(xué)與工程學(xué)院,-

4、 2011,JDBC,JDBC Java Database Connectivity,JDBC,的體系結(jié)構(gòu),Application,Application,Application,JDBC API,JDBC Driver Manager,JDBC Drivers,DB,DB,DB,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,JDBC,驅(qū)動程序的類型,Java,程序,第一類,數(shù)據(jù)庫,ODBC,驅(qū)動,Java,程序,第二類,數(shù)據(jù)庫,本地化,方法,Java,程序,第四類,數(shù)據(jù)庫,Java,程序,第三類,數(shù)據(jù)庫,中間件,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,import,java.sql,.*;,i

5、mport,javax.sql,.*;,java.sql.SQLException,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,基于,JDBC,的數(shù)據(jù)庫訪問的基本步驟:,建立數(shù)據(jù)庫(含啟動服務(wù)器、設(shè)置數(shù)據(jù)源等),加載,JBDC,驅(qū)動程序,獲得到數(shù)據(jù)庫的連接,創(chuàng)建執(zhí)行,SQL,語句的聲明,向數(shù)據(jù)庫發(fā)送并執(zhí)行,SQL,語句,處理執(zhí)行的結(jié)果,關(guān)閉連接,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,基本,SQL,語句,表操作,創(chuàng)建表,create table,表名,(,字段名,1,數(shù)據(jù)類型,1,),create table,成績表,(,學(xué)號,integer,姓名,char(20),成績,double),刪除

6、表,drop table,表名,drop table,成績表,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,列操作,添加列,alter table,表名,add,字段名 數(shù)據(jù)類型,alter table,成績表,add,性別,char(2),刪除列,alter table,表名,drop column,字段名,alter table,成績表,drop column,性別,修改列,alter table,表名,alter column,字段名 數(shù)據(jù)類型,alter table,成績表,alter column,姓名,char(30),濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,記錄操作,插入記錄,in

7、sert into,表名,values(,值,1,),insert into,成績表,VALUES(2008010441,王二,85),刪除記錄,delete from,表名,where,條件表達(dá)式,delete from,成績表,where,姓名,=,王二,更新記錄,update,表名,set,字段名,=,值,where,條件表達(dá)式,update,成績表,set,姓名,=,王三,where,姓名,=,王二,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,查詢記錄,select,語句,SELECT * FROM SCORE WHERE C180,SELECT * FROM,stu,ORDER BY,

8、成績,SELECT * FROM,stu,WHERE,姓名,LIKE ,張,%,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,訪問數(shù)據(jù)庫,此處以訪問,Microsoft Access,數(shù)據(jù)庫為例進行講解,對其他類型數(shù)據(jù)庫的訪問類似。主要區(qū)別在于連接數(shù)據(jù)庫的方法。,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,創(chuàng)建數(shù)據(jù)庫并設(shè)置數(shù)據(jù)源,設(shè)計滿足系統(tǒng)需求的數(shù)據(jù)庫和相關(guān)表,完成基本數(shù)據(jù)的錄入,完成數(shù)據(jù)庫的建立,設(shè)置數(shù)據(jù)源,(Windows XP,下,),控制面板,管理工具,數(shù)據(jù)源,(ODBC),用戶,DSN,標(biāo)簽添加選擇驅(qū)動程序完成,輸入數(shù)據(jù)源名選擇數(shù)據(jù)庫確定,/,在此,可使用高級按鈕設(shè)置登錄,用戶,和密碼,

9、濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,加載驅(qū)動程序類,Class.forName,(“,驅(qū)動程序類名,”,);,JDBC-ODBC,橋接器,在,JDK,中已經(jīng)提供,Class.forName(“,sun.jdbc.odbc.JdbcOdbcDriver,”);,第,4,類,JDBC Driver,需要下載相關(guān)的,jar,文檔,將,jar,文檔添加到開發(fā)環(huán)境中,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,獲得一個到數(shù)據(jù)庫的連接,JDBC URL,格式:,jdbc,:,例如,String,urlstr,=,“,jdbc:odbc:mydb,”,;,String,urlstr,=,“,jdbc:o

10、dbc:Driver,=Microsoft Access Driver (*.,mdb);DBQ,=path/,mydb.mdb,”,;,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,獲得連接,Connection,conn,;,conn,=,DriverManager,.getConnection(urlstr,);,conn,=,DriverManager,.getConnection,(,urlstr,user,pwd,);,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,創(chuàng)建一個使用,SQL,語句的對象,Statement,stmt,;,stmt =,conn.createStatement,(

11、);,stmt =,conn.createStatement(int,int,);,int,:結(jié)果集游標(biāo)的滾動類型及對數(shù)據(jù)庫變化的反映,ResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.TYPE_SCROLL_SENSITIVE,int,:是否能用結(jié)果集對數(shù)據(jù)庫進行更新,ResultSet.CONCUR_READ_ONLY,ResultSet.CONCUR_UPDATABLE,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,執(zhí)行,SQL,語句并獲得結(jié)果,ResultSet,rset,;,查詢語句(,SELE

12、CT,),rset,=,stmt.executeQuery(SQL,語句,);,更新語句(,INSERT,、,UPDATE,、,DELETE,),int,ret =,stmt.executeUpdate(SQL,語句,);,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,處理結(jié)果,說明,ResultSet,對象維護一個指向當(dāng)前行的位置光標(biāo),初始在第,1,行前面,,next(),方法可下移,當(dāng)沒有多余行時返回,false,ResultSet,提供了一組,get,方法用于獲取當(dāng)前行中各列值,按照,left-to-right,順序讀取,且每列只能讀取一次。列號從,1,開始,濟南大學(xué)信息科學(xué)與工程學(xué)院,-

13、2011,ResultSet,接口提供以下操作結(jié)果集數(shù)據(jù)的方法,光標(biāo)位置,boolean,next();,boolean,previous();,boolean,first();,boolean,last();,void,beforeFirst,();,void,afterLast,();,boolean,absolute(int,);,boolean,relative(int,);,boolean,isBeforeFirst,();,boolean,isAfterLast,();,boolean,isFirst,();,boolean,isLast,();,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2

14、011,操作列數(shù)據(jù),boolean,getBoolean(int,/String),byte,getByte(int,/String),short,getShort(int,/String),int,getInt(int,/String),long,getLong(int,/String),float,getFloat(int,/String),double,getD,ouble(int,/String),String,getString(int,/String),Time,getTime(int,/String),Date,getDate(int,/String),Object,getObj

15、ect(int,/String),int,findColumn,(,String,columnName,),濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,操作行數(shù)據(jù),rs.absolute(5);,rs.updateString(NAME, “,Zhansan,);,rs.updateRow,();,rs.moveToInsertRow,();,rs.updateString(1, “,Zhansan,);,rs.updateInt(2, 35);,rs.updateBoolean(3, true);,rs.insertRow,();,rs.moveToCurrentRow,();,濟南大學(xué)信息科

16、學(xué)與工程學(xué)院,- 2011,關(guān)閉連接,rset.close,();,stmt.close,();,conn.close,();,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,實例,問題描述(,Example11_Word.java,),設(shè)已存在一個,Access,數(shù)據(jù)庫,words.mdb,,其中有一個表,words,,表結(jié)構(gòu)如下:,設(shè)計一個數(shù)據(jù)庫程序,完成英漢查詢的功能。即輸入一個英文單詞,顯示出查詢結(jié)果,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,本章問題小結(jié),JDBC,的含義與作用是什么?,數(shù)據(jù)庫編程一般需要導(dǎo)入什么包和處理什么異常?,如何設(shè)置,ODBC,的,DSN,?,如何加載數(shù)據(jù)庫驅(qū)動程序

17、?,如何獲得到一個數(shù)據(jù)庫的連接(,Connection,)?,如何獲得一個使用,SQL,語句的對象(,Statement,)?,如何執(zhí)行,SQL,語句?,如何處理處理結(jié)果(,ResultSet,)?,如何關(guān)閉連接?,會使用基本的,SQL,語句。,作業(yè),什么是,JDBC,?,說說使用,JDBC,訪問數(shù)據(jù)庫的基本步驟。,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,其它內(nèi)容,SQL99,的主要數(shù)據(jù)類型,Java,類型,SQL,類型,Java,類型,SQL,類型,boolean,BOOLEAN,String,CHAR/VARCHAR,byte,TINYINT,byte,BINARY/VARBINARY,

18、char,Object,JAVA_OBJECT,short,SMALLINT,Struct,STRUCT,int,INTEGER,Ref,REF,long,BIGINT,Clob,CLOB,float,REAL,Blob,BLOB,double,DOUBLE,URL,DATALINK,Time,TIME,Array,ARRAY,Date,DATE,BigDecimal,NUMERIC,Timestamp,TIMESTAMP,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,Class.forName(com.mysql.jdbc.Driver,);,Connection,conn,= DriverMa

19、nager.getConnection(jdbc:mysql:/localhost:3306/DBname, “, “);,Class.forName(org.apache.derby.jdbc.ClientDriver,);,Connection,conn,= DriverManager.getConnection(jdbc:derby:/localhost:1527/DBname, “, “);,Class.forName(sun.jdbc.odbc.JdbcOdbcDriver,);,Connection,conn,=,DriverManager.getConnection(jdbc:o

20、dbc:driver,=Microsoft Access Driver (*.,mdb);DBQ,=,e:/qsp.mdb, “, “);,Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver,);,Connection,conn,=,DriverManager.getConnection,( jdbc:microsoft:sqlserver:/localhost:1433;databaseName=master, “, “);,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,Connection,的主要方法,void commit()

21、,void rollback(),DatabaseMetaData,getMetaData,(),Statement,createStatement,(),Statement,createStatement,(int,int,),PreparedStatement,prepareStatement(String,),CallableStatement,prepareCall(String,),void close(),濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,Statement,的主要方法,ResultSet,executeQuery(String,sql,),int,executeUpdat

22、e(sql,),boolean,execute(sql,),ResultSet,getResultSet,(),int,getUpdateCount,(),Connection,getConnection,(),void close(),void,clearBatch,(),void,addBatch(String,sql,),int,executeBatch,(),濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,元數(shù)據(jù),DatabaseMetaData,用于獲取描述數(shù)據(jù)庫的元數(shù)據(jù),ResultSetMetaData,用于獲取描述表的元數(shù)據(jù),濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,Prepared

23、Statement,(,extends Statement,),PreparedStatement,ps,=,conn.prepareStatement,(“?”);/INSERT, UPDATE,ps.setXxx(1, xxx);,ps.setXxx(2, xxx);,ps.executeUpdate,(); /Query, ,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,CallableStatement,(,extends,PreparedStatement,),?= call , .,call , .,CallableStatement,cs,=,conn.prepareCall,(“?

24、 = call xxx?,?”);,cs.registerOutParameter(1,java.sql.Types.FLOAT,);,cs.setXxx(1, xxx);,cs.setXxx(2, xxx);,ps.executeUpdate,();,int,ret = cs.getInt(1);,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,批處理,boolean,ac =,conn.getAutoCommit,();,conn.setAutoCommit(false,);,Statement stmt =,conn.createStatement,();,stmt.clearBatch,();,stmt.addBatch,(“”);,stmt.addBatch,(“”);,int,uc,=,stmt.executeBatch,();,mit,();,conn.setAutoCommit(ac,);,濟南大學(xué)信息科學(xué)與工程學(xué)院,- 2011,

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!