B08輸入輸出及數(shù)據(jù)庫操作ppt課件(全)_第1頁
B08輸入輸出及數(shù)據(jù)庫操作ppt課件(全)_第2頁
B08輸入輸出及數(shù)據(jù)庫操作ppt課件(全)_第3頁
B08輸入輸出及數(shù)據(jù)庫操作ppt課件(全)_第4頁
B08輸入輸出及數(shù)據(jù)庫操作ppt課件(全)_第5頁
已閱讀5頁,還剩74頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第8章 輸入輸出及數(shù)據(jù)庫操作8.1 輸入和輸出8.2 數(shù)據(jù)庫操作8.1 輸入和輸出8.1.1 流的含義8.1.2 流的層次結(jié)構(gòu)8.1.3 標準輸入輸出8.1.4 File類8.1.5 FileInputStream類和FileOutputStream類8.1.6 DataInputStream類和DataOutputStream類8.1.7 隨機訪問文件8.1.8 Reader類和Writer類8.1.9 IOException類的幾個子類8.1.1 流的含義流是一個很形象的概念,當程序需要讀取數(shù)據(jù)的時候,就會開啟一個通向數(shù)據(jù)源的流,這個數(shù)據(jù)源可以是文件,內(nèi)存,或是網(wǎng)絡(luò)連接。類似的,當程序需要

2、寫入數(shù)據(jù)的時候,就會開啟一個通向目的地的流。這時候你就可以想象數(shù)據(jù)好像在這其中“流”動一樣,如下圖7-1:圖7-1 流8.1.1 流的含義數(shù)據(jù)流是指一組有順序的、有起點的和終點的字節(jié)集合Java將讀取數(shù)據(jù)的對象稱為輸入流;能向其寫入數(shù)據(jù)的對象稱為輸出流。字節(jié)流,被稱作輸入流(Input stream)或輸出流(Output stream),基于數(shù)據(jù)的I/O是二進制(比如說表示圖像的位圖)字符流,被稱作Reader或Writer,基于文本的I/O都是一些人們能夠閱讀的字符(比如說程序的源代碼,字符流8.1.1 流的含義InputStream,OutputStream,Reader,Writer是

3、四個抽象類。Java中其他多種多樣變化的流均是由它們派生出來的。在這四個抽象類中,InputStream和Reader定義了完全相同的接口:int read()int read(char cbuf)int read(char cbuf, int offset, int length)而OutputStream和Writer也是如此:int write(int c)int write(char cbuf)int write(char cbuf, int offset, int length)8.1.2 流的層次結(jié)構(gòu)InputStream和OutputStream流層次結(jié)構(gòu)如圖7-2和圖7-3所示

4、Reader和Writer流層次結(jié)構(gòu)如圖7-4和圖7-5所示圖7-2 InputStream輸入流層次結(jié)構(gòu)StringBufferInputStream字符串緩沖區(qū)輸入流ByteArrayInputStream字節(jié)數(shù)組輸入流FileInputStream文件輸入流FilterInputStream過濾器輸入流PipedInputStream管道輸入流SequenceInputStream順序輸入流ObjectInputStream對象輸入流BufferInputStream帶緩沖區(qū)輸入流PushbackInputStream回退輸入流LineNumberInputStream行號輸入流Data

5、InputStream數(shù)據(jù)輸入流InputStream輸入流圖7-3 OutputStream輸出流層次結(jié)構(gòu)ByteArrayOutputStream字節(jié)數(shù)組輸出流FileOutputStream文件輸出流FilterOutputStream過濾器輸出流PipedOutputStream管道輸出流ObjectOutputStream對象輸出流BufferOutputStream帶緩沖區(qū)輸出流PrintStream回退輸出流DataOutputStream數(shù)據(jù)輸出流OutputStream輸出流圖7-4 Reader流層次結(jié)構(gòu)BufferReaderReaderCharArrayReaderIn

6、putStreamReaderFilterReaderPipedReaderStringReaderLineNumberReaderFileReaderPushbackrReader圖7-5 Writer流層次結(jié)構(gòu)Buffer WriterWriterCharArray WriterOutputStream WriterFilter WriterPiped WriterString WriterFileWriter8.1.3 標準輸入輸出標準輸入輸出都是System類中定義的類成員變量,包括:System.in:代表標準輸入流,默認狀態(tài)對應(yīng)于鍵盤輸入。System.out:代表標準輸出流,默認

7、狀態(tài)對應(yīng)于屏幕輸出。System.err:代表標準錯誤輸出流,默認狀態(tài)對應(yīng)于屏幕輸出?!緦嵗?-1】import java.io.*;class stdIOExample1 public static void main(String args) throws IOException int ch; int count = 0; (請輸入字符(當輸入0時退出?。?; while (char)(ch = () != 0) /輸入字符 count+; System.out.print(char)ch); /輸出字符 (); System.err.println(counted + count +

8、total bytes.); 說明:在本實例中,利用()不斷從鍵盤輸入字符,并在顯示屏輸出,count用于累計輸入字符個數(shù),當輸入字符為0時,輸入終止。8.1.4 File類含義:File類與InputStream / OutputStream類同屬于一個包,它不允許訪問文件內(nèi)容。File類主要用于命名文件、查詢文件屬性和處理文件目錄。1File類的構(gòu)造方法public File(String name):指定與File對象關(guān)聯(lián)的文件或目錄的名稱,name可以包含路徑信息及文件或目錄名。例如:File myFile;MyFile= new File(“D:WUabc.txt”)8.1.4 Fi

9、le類1File類的構(gòu)造方法public File(String pathName,String name):使用參數(shù)pathName(絕對路徑或相對路徑)來定位參數(shù)name所指定的文件或目錄。例如:File myFile;MyFile= new File(“D:WU”,“abc.txt”);8.1.4 File類1File類的構(gòu)造方法public File(File directory,String name):使用現(xiàn)有的File對象directory(絕對路徑或相對路徑)來定位參數(shù)name所指定的文件或目錄。例如:File myDir=new File(“D:WU”);MyFile= ne

10、w File(myDir,“abc.txt”);public File(URI rui):使用給定的同一資源定位符來定位文件。8.1.4 File類2File類常見方法String getName();得到一個文件的名稱(不包括路徑)String getPath();得到一個文件的路徑名String getAbsolutePath();得到一個文件的絕對路徑名String getParent();得到一個文件的上一級目錄名String renameTo(FilenewName);將當前文件名更名為給定文件的完整路徑booleanexists();測試當前File對象所指示的文件是否存在bool

11、eancanWrite();測試當前文件是否可寫booleancanRead();測試當前文件是否可讀8.1.4 File類2File類常見方法boolean isFile();測試當前文件是否是文件(不是目錄)boolean isDirectory();測試當前文件是否是目錄longlastModified();得到文件最近一次修改的時間longlength();得到文件的長度,以字節(jié)為單位booleandelete();刪除當前文件booleanmkdir();根據(jù)當前對象生成一個由該對象指定的路徑Stringlist();列出當前目錄下的文件【實例8-3】import java.io.*

12、; public class fileTest void listAttributes(String fileName)File f=new File(fileName);if( f.exists( ) ) System.out.println(Attributes of +fileName); System.out.println(Exist: +f.exists(); System.out.println(Can read: +f.canRead(); System.out.println(Can write: +f.canWrite(); System.out.println(Is fi

13、le: +f.isFile(); System.out.println(Is director: +f.isDirectory(); System.out.println(Is absolute path: +f.isAbsolute();else System.out.println(fileName+ does not exist!); 【實例8-3】public static void main(String args )if(args.length!=1)System.out.println(Usage: java fileTest );System.exit(1); fileTest

14、 obj=new fileTest ( );obj.listAttributes(args0);編譯完畢后,按照如下方式運行:g:java01java fileTest fileTest.java則得到如下結(jié)果:Attributes of fileTest.javaExist: trueCan read: trueCan write: trueIs file: trueIs director: falseIs absolute path: false FileInputStream類和FileOutputStream類1FileInputStream類FileInputStream典型地表示一

15、種順序訪問的文本文件,可以訪問文件的一個字節(jié)、幾個字節(jié)或整個文件。基本步驟:步驟一:利用FileInputStream打開文件。FileInputStream myFileStream;myFileStream= new FileInputStream(“D:WU”,“abc.txt”)或者File myFile;FileInputStream myFileStream;myFile= new File(“D:WUabc.txt”)myFileStream= new FileInputStream(myFile)8.1.5 FileInputStream類和FileOutputStream類1

16、FileInputStream類步驟二:使用方法read()讀取信息。int read() int read(byte input) int read(byte input,int offset,int length)步驟三:讀取完畢后要關(guān)閉FileInputStream對象。myFileStream.close()8.1.5 FileInputStream類和FileOutputStream類1FileInputStream類FileInputStream類常用方法:public abstract int read( ) public int read(byte b ) public int

17、 read(byte b , int off, int len) 。public int available( ) public long skip(long n) public int close( )【實例8-4】import java.io.*;public class FileInputStreamExamplepublic static void main(String args) throws IOExceptionString fname=FileInputStreamExample.java;tryFileInputStream rf = new FileInputStream

18、(fname);int n=16;byte buffer = new byten;while (rf.read(buffer,0,n)!=-1) & (n0) /讀取輸入流System.out.print(new String(buffer);【實例8-4】();rf.close(); /關(guān)閉輸入流catch (IOException ioe)System.out.println(ioe);catch (Exception e)System.out.println(e);8.1.5 FileInputStream類和FileOutputStream類2FileOutputStream類File

19、OutputStream類用來處理以文件作為數(shù)據(jù)輸出目的數(shù)據(jù)流基本步驟包括:步驟一:利用FileOutputStream打開文件。FileOutputStream myFileStream;myFileStream= new FileOutputStream(“D:WU”,“abc.txt”)或者File myFile;FileOutputStream myFileStream;myFile= new File(“D:WUabc.txt”)myFileStream= new FileOutputStream(myFile)8.1.5 FileInputStream類和FileOutputStr

20、eam類2FileOutputStream類步驟二:使用方法write ()寫信息。public void write(byte b ):public void write(byte b , int off, int len) public abstract void write(int b) 步驟三:讀取完畢后要關(guān)閉FileOutputStream對象。myFileStream.close()8.1.5 FileInputStream類和FileOutputStream類FileOutputStream類常用方法:public void write(byte b )public void w

21、rite(byte b , int off, int len) public abstract void write(int b) public void flush( ) public void close( )【實例8-5】import java.io.*;public class FileOutputStreamExamplepublic static void main(String args)try(輸入一行字符: );int count,n=512;byte buffer = new byten;FileOutputStream wf = new FileOutputStream(

22、Output.txt);count = System.in.read(buffer);wf.write(buffer,0,count); /寫入輸出流wf.close(); /關(guān)閉輸出流(輸入行字符已保存到Output.txt!);【實例8-5】catch (IOException ioe)System.out.println(ioe);catch (Exception e)System.out.println(e);8.1.6 DataInputStream類和DataOutputStream類1DataInputStreamDataInputStream與FileInputStream差不

23、多,可以直接讀取任意一種變量類型。一般來說,對二進制文件使用DataInputStream流。打開和關(guān)閉DataInputStream對象時,其方法與FileInputStream相同。也可以使用read()方法讀取文件內(nèi)容,同時還可以使用其它方法來訪問不同類型的數(shù)據(jù)。8.1.6 DataInputStream類和DataOutputStream類1DataInputStream打開DataInputStream流DataInputStream myFileStream;myFileStream= new DataInputStream (“D:WU”,“abc.txt”)讀取DataInpu

24、tStream流myFileStream.read()關(guān)閉DataInputStream流myFileStream.close()8.1.6 DataInputStream類和DataOutputStream類主要方法byte readByte()讀取byte型數(shù)據(jù)int readUnsignedByte()讀取unsignedbyte型數(shù)據(jù)short readShort()讀取short型數(shù)據(jù)int readUnsignedShort()讀取unsignedshort型數(shù)據(jù)char readChar()讀取char型數(shù)據(jù)int readInt()讀取int型數(shù)據(jù)long readLong()

25、讀取long型數(shù)據(jù)float readFloat()讀取float型數(shù)據(jù)double readDouble()讀取double型數(shù)據(jù)String readLine()讀取line型數(shù)據(jù)8.1.6 DataInputStream類和DataOutputStream類2DataOutputStream類DataOutputStream與FileOutputStream差不多,可以直接寫任意一種變量類型。一般來說,對二進制文件使用DataOutputStream流。打開和關(guān)閉DataOutputStream對象時,其方法與FileOutputStream相同。也可以使用write()方法寫文件內(nèi)容,

26、同時還可以使用其它方法來訪問不同類型的數(shù)據(jù)。8.1.6 DataInputStream類和DataOutputStream類1DataInputStream打開DataOutputStream流DataOutputStream myFileStream;myFileStream= new DataOutputStream (“D:WU”,“abc.txt”)讀取DataOutputStream流myFileStream.write()關(guān)閉DataInputStream流myFileStream.close()8.1.6 DataInputStream類和DataOutputStream類主要方

27、法void writeByte()寫入byte型數(shù)據(jù)void writeBoolean()寫入boolean型數(shù)據(jù)void writeShort()寫入short型數(shù)據(jù)void writeChar()寫入char型數(shù)據(jù)void writeInt()寫入int型數(shù)據(jù)void writeLong()寫入long型數(shù)據(jù)void writeFloat()寫入float型數(shù)據(jù)void writeDouble()寫入double型數(shù)據(jù)void writeBytes()寫入bytes型數(shù)據(jù)void writeChars()寫入chars型數(shù)據(jù)8.1.7 隨機訪問文件對于很多場合,例如銀行系統(tǒng)、實時銷售系統(tǒng),

28、要求能夠迅速、直接地訪問文件中的特定信息,而無需查找其他的記錄。這種類型的即時訪問可能要用到隨機存取文件和數(shù)據(jù)庫。隨機文件的應(yīng)用程序必須指定文件的格式。最簡單的是要求文件中的所有記錄均保持相同的固定長度。利用固定長度的記錄,程序可以容易地計算出任何一條記錄相對于文件頭的確切位置。8.1.7 隨機訪問文件Java.io包提供了RandomAccessFile類用于隨機文件的創(chuàng)建和訪問,實現(xiàn)了DataOutput和DataInput接口,可用來讀寫各種數(shù)據(jù)類型。RandomAccessFile類有個位置指示器,對文件指針顯式操作的方法有:int skipBytes(int n):把文件指針向前移動

29、指定的n個字節(jié)void seek(long):移動文件指針到指定的位置。long getFilePointer():得到當前的文件指針。8.1.7 隨機訪問文件1構(gòu)造函數(shù):public RandomAccessFile(String name, String mode )public RandomAccessFile( File file, String mode )mode 的取值 “r” 只讀 “rw” 讀寫 “rws” 同步讀寫 “rwd” 數(shù)據(jù)同步讀寫8.1.7 隨機訪問文件2主要方法public RandomAccessFile(File f, String mode) public

30、 void setLength(long newLength)public long length() public void seek(long pos) public int skipBytes(int n) public int read() public final double readDouble()public final void writeChar(int v) public final void writeInt(int v) public long getFilePointer()8.1.7 隨機訪問文件3應(yīng)用過程創(chuàng)建和打開隨機文件訪問方式(1)用文件名:myRAFile

31、=new RandomAccessFile(String name,String mode)(2)用文件對象:myRAFile=new RandomAccessFile(File file,String mode)隨機訪問讀寫利用read()或write()方法進行隨機讀寫【實例8-6】import java.io.*;public class rafExampleRandomAccessFile fp;public static void main(String args) throws IOException rafExample a=new rafExample(); int MaxVa

32、lue=100;a.createprime(MaxValue);【實例8-6】public void createprime(int max) throws IOExceptionfp=new RandomAccessFile(primes.bin,rw);/創(chuàng)建文件對象fp.seek(0); /文件指針為0fp.writeInt(2); /寫入整型int k=3;while (k=max)if (isPrime(k)fp.writeInt(k);k = k+2; ShowPrimes(max);fp.close(); /關(guān)閉文件【實例8-6】public boolean isPrime(in

33、t k) int i=0;boolean yes = false;for (i=2;ik/2) yes=true;return yes;【實例8-6】public void ShowPrimes(int max) throws IOExceptiontryfp.seek(0); System.out.println(2.+max+中有 +(fp.length()/4)+ 個素數(shù):);for (int i=0;i(int)(fp.length()/4);i+)fp.seek(i*4); System.out.print(fp.readInt()+ );if (i+1)%5=0) (); catc

34、h(EOFException e) ();說明:在本實例中,對一個二進制整數(shù)文件實現(xiàn)訪問操作,當以可讀寫方式“rw”打開一個文件prinmes.bin時,如果文件不存在,將創(chuàng)建一個新文件。先將2100內(nèi)的素數(shù)依次寫入文件prinmes.bin。8.1.8 Reader類和Writer類同類InputStream和OutputStream一樣,Reader和Writer也是抽象類,只提供了一系列用于字符流處理的接口。它們的方法與類InputStream和OutputStream類似,只不過其中的參數(shù)換成字符或字符數(shù)組。Reader和Writer是所有讀取字符流類的父類抽象類(面向Unicode字

35、符操作) Java使用Unicode碼表示字符和字符串。【實例8-7】 import java.io.*;public class Echo public static void main(String args) BufferedReader in = new BufferedReader( new InputStreamReader(System.in); String s; try while(s = in.readLine().length() != 0) System.out.println(s); / An empty line terminates the program cat

36、ch(IOException e) e.printStackTrace(); 8.1.8 Reader類和Writer類Reader類的主要方法boolean ready() 輸入字符流是否可讀int read() 讀取一個字符int read(char cbuf) 讀取一串字符(到字符數(shù)組cbuf)long skip(long n) 跳過n個字符mark(int readAheadLimit) 在當前位置做一標記reset() 將讀取位置恢復(fù)到標記處close() 關(guān)閉字符流8.1.8 Reader類和Writer類Writer類的主要方法void close() 關(guān)閉流void flush

37、() 強行寫入void write(char cbuf) 寫入字符串cbufvoid write(char cbuf, int off, int len) 寫入字符數(shù)組cbuf中自位置off開始的len字符void write(int c) 寫入cvoid write(String str) 寫入字符串strvoid write(String str, int off, int len) 寫入字符串str中自位置off開始的len字符8.1.9 IOException類的幾個子類1public class EOFException :當碰到輸入尾時,拋出這種類型的異常。2public clas

38、s FileNotFoundException:當文件找不到時,構(gòu)造函數(shù)拋出這種類型的異常。3public class InterruptedIOException:當I/O操作被中斷時,拋出這種類型的異常。4 public class UTFDataFormatException:當在讀的字符串中有UTF語法格式錯誤時,由DataInputStream.readUTF( )方法拋出。8.2 數(shù)據(jù)庫操作8.2.1 ODBC8.2.2 JDBC8.2.3 使用JDBC-ODBC技術(shù)訪問數(shù)據(jù)庫8.2.4 基本SQL語句8.2.1 ODBCODBC由應(yīng)用程序、驅(qū)動持續(xù)管理器、驅(qū)動程序和數(shù)據(jù)源等組成,

39、如圖7-6所示。應(yīng)用程序通過ODBC接口訪問不同數(shù)據(jù)源中的數(shù)據(jù),每個不同的數(shù)據(jù)源類型由一個驅(qū)動程序支持。驅(qū)動程序管理器為應(yīng)用程序裝入合適的驅(qū)動程序。圖7-6 ODBC層次結(jié)構(gòu)數(shù)據(jù)源1數(shù)據(jù)源2數(shù)據(jù)源3應(yīng)用程序ODBC接口Driver ManagerDriver1 Driver2 Driver28.2.2 JDBCJDBC(Java DataBase Connectivity) 是一種用于執(zhí)行SQL語句的Java API。JDBC使開發(fā)人員既可以用純Java語言編寫完整的數(shù)據(jù)庫應(yīng)用程序。 JDBC完成三件事:(1)與一個數(shù)據(jù)庫連接;(2)向數(shù)據(jù)庫發(fā)送SQL語句;(3)處理數(shù)據(jù)庫返回的結(jié)果。圖7-7

40、顯示了java程序通過JDBC訪問數(shù)據(jù)庫的過程。Java程序通過JDBC訪問數(shù)據(jù)庫的關(guān)系java應(yīng)用程序JDBC驅(qū)動程序Sun JDBC/ODBC橋(本地)數(shù)據(jù)庫ODBC驅(qū)動程序(本地)數(shù)據(jù)庫客戶機純java解決方案混合解決方案:java本地代碼圖7-7 Java程序通過JDBC訪問數(shù)據(jù)庫的示意圖8.2.2 JDBCJDBC API是一組由Java語言編寫的類和接口,包含在java.sql和javax.sql兩個包中。java.sql為核心包,包含于J2SE中。javax.sql包擴展了JDBC API的功能,使其從客戶端發(fā)展為服務(wù)器端,成為了J2EE的一個基本組成部分。8.2.2 JDBCJ

41、DBC API可分為兩個層次:面向底層的JDBC Driver API:主要是針對數(shù)據(jù)庫廠商開發(fā)數(shù)據(jù)庫底層驅(qū)動程序使用。面向程序員的JDBC API:應(yīng)用程序通過JDBC API和底層的JDBC Driver API打交道。圖7-8 應(yīng)用程序、Driver和數(shù)據(jù)庫之間的關(guān)系純JDBC驅(qū)動程序數(shù)據(jù)庫java應(yīng)用程序JDBC驅(qū)動器管理器DBMS提供的本機java APIJDBC-ODBC橋接驅(qū)動程序ODBC和數(shù)據(jù)庫驅(qū)動其他驅(qū)動程序JDBC APIJDBC Driver API8.2.2 JDBC一個基本的JDBC程序開發(fā)包含如下步驟:設(shè)置環(huán)境,引入相應(yīng)的JDBC類選擇合適的JDBC驅(qū)動程序并加載分

42、配一個Connection對象分配一個Statement對象用該Statement對象進行查詢等操作從返回的ResultSet對象中獲取相應(yīng)的數(shù)據(jù)關(guān)閉Connection8.2.2 JDBC概念:DriverManager:處理驅(qū)動的調(diào)入并且對產(chǎn)生新的數(shù)據(jù)庫連接提供支持DataSource:在JDBC 2.0 API中被推薦使用代替DriverManager實現(xiàn)和數(shù)據(jù)庫的連接Connection:代表對特定數(shù)據(jù)庫的連接Statement:代表一個特定的容器,容納并執(zhí)行一條SQL語句ResultSet:控制執(zhí)行查詢語句得到的結(jié)果集8.2.3 使用JDBC-ODBC技術(shù)訪問數(shù)據(jù)庫JDBC和數(shù)據(jù)庫建

43、立連接的一種方式是首先建立起一個JDBC-ODBC橋接器訪問步驟:步驟1:設(shè)置數(shù)據(jù)源步驟2:建立ODBC-JDBC橋接器步驟3:連接到數(shù)據(jù)庫步驟4:向數(shù)據(jù)庫發(fā)送SQL語句步驟5:處理查詢結(jié)果8.2.3 使用JDBC-ODBC技術(shù)訪問數(shù)據(jù)庫JDBC和數(shù)據(jù)庫建立連接的一種方式是首先建立起一個JDBC-ODBC橋接器訪問步驟:步驟1:設(shè)置數(shù)據(jù)源步驟2:建立ODBC-JDBC橋接器步驟3:連接到數(shù)據(jù)庫步驟4:向數(shù)據(jù)庫發(fā)送SQL語句步驟5:處理查詢結(jié)果8.2.3 使用JDBC-ODBC技術(shù)訪問數(shù)據(jù)庫步驟1:設(shè)置數(shù)據(jù)源開始-設(shè)置-控制面版-管理工具-ODBC附件給出了設(shè)置數(shù)據(jù)源的詳細步驟。8.2.3 使用

44、JDBC-ODBC技術(shù)訪問數(shù)據(jù)庫步驟2:建立ODBC-JDBC橋接器String sDBDriver =;Class.forName(sDBDriver);異常處理try Class.forName(sDBDriver);catch ( e )System.err.println(shop(): + e.getMessage() );8.2.3 使用JDBC-ODBC技術(shù)訪問數(shù)據(jù)庫步驟3:連接到數(shù)據(jù)庫String sConnStr =jdbc:odbc:mydatasource; / mydatasource為數(shù)據(jù)源名稱conn = DriverManager.getConnection (s

45、ConnStr,user1,123);異常處理方式為:try Connection conn = DriverManager.getConnection (sConnStr,user1,123);catch (SQLException e) 8.2.3 使用JDBC-ODBC技術(shù)訪問數(shù)據(jù)庫步驟4:向數(shù)據(jù)庫發(fā)送SQL語句try Statement Stmt = conn.createStatement(); catch (SQLException e) 步驟5:處理查詢結(jié)果ResultSet RS = Stmt.executeQuery(SELECT * FROM table1);String

46、s=RS. getString(“name”)或String s=RS. getString(2)【實例8-8】/使用JDBCODBC橋接器訪問access數(shù)據(jù)庫import java.sql.*;import java.io.*;public class ShowAccessFile public static void main(String args)String tt=null;int count=0;String sDBDriver =;String sConnStr =jdbc:odbc:myaccess;Connection conn = null;Statement Stmt=null;ResultSet RS = null;try Class.forName(sDBDriver);【實例8-8】catch ( e ) System.err.println(shop(): + e.getMessage() );try conn = DriverManager.getConnection (sConnStr,);Stmt = conn.createStatement();Stmt.executeUpdate(INSERT INTO table1 VALUES(吳一,男) );Stmt.executeUpdate(INSERT INTO table1

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論