版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第10章 網(wǎng)絡(luò)與數(shù)據(jù)庫編程,本章重點 支持JAVA程序訪問網(wǎng)上資源的類及其方法 網(wǎng)絡(luò)編程應(yīng)用 支持Java程序與數(shù)據(jù)庫連接的類及其方法 支持Java程序的數(shù)據(jù)表查詢、數(shù)據(jù)記錄修改和插入的類及其方法 數(shù)據(jù)庫編程應(yīng)用 更多優(yōu)質(zhì)自考資料盡在百度貼吧自考樂園俱樂部(,2,1、 網(wǎng)絡(luò)基礎(chǔ)知識,計算機網(wǎng)絡(luò)形式多樣,內(nèi)容繁雜。網(wǎng)絡(luò)上的計算機要互相通信,必須遵循一定的協(xié)議。目前使用最廣泛的網(wǎng)絡(luò)協(xié)議是Internet上所使用的TCP/IP協(xié)議 網(wǎng)絡(luò)編程是指利用不同層次的通信協(xié)議提供的接口實現(xiàn)網(wǎng)絡(luò)進程通信的編程 網(wǎng)絡(luò)編程中有兩個主要的問題: (1)如何準確的定位網(wǎng)絡(luò)上一臺或多臺主機, (2)找到主機后如何可靠高效
2、的進行數(shù)據(jù)傳輸。 在TCP/IP協(xié)議中IP層主要負責(zé)網(wǎng)絡(luò)主機的定位,數(shù)據(jù)傳輸?shù)穆酚桑蒊P地址可以唯一地確定Internet上的一臺主機。而TCP層則提供面向應(yīng)用的可靠的或非可靠的數(shù)據(jù)傳輸機制,這是網(wǎng)絡(luò)編程的主要對象,一般不需要關(guān)心IP層是如何處理數(shù)據(jù)的。,3,1、網(wǎng)絡(luò)基礎(chǔ)知識,網(wǎng)絡(luò)編程模型:客戶機/服務(wù)器(C/S)結(jié)構(gòu) 即通信雙方一方作為服務(wù)器等待客戶提出請求并予以響應(yīng)??蛻魟t在需要服務(wù)時向服務(wù)器提出申請。服務(wù)器一般作為守護進程始終運行,監(jiān)聽網(wǎng)絡(luò)端口,一旦有客戶請求,就會啟動一個服務(wù)進程來響應(yīng)該客戶,同時自己繼續(xù)監(jiān)聽服務(wù)端口,使后來的客戶也能及時得到服務(wù)。 網(wǎng)絡(luò)進程:就是網(wǎng)點機(連入網(wǎng)絡(luò)的計
3、算機)上運行的程序。 網(wǎng)絡(luò)進程在通信協(xié)議中用端口(port)標識,而它駐留的網(wǎng)點機則用其IP地址或域名來標識。 通信協(xié)議指網(wǎng)絡(luò)進程之間的通信必須遵循預(yù)定的規(guī)則。 TCP/IP是一組在Internet網(wǎng)絡(luò)上的不同計算機之間進行通信的協(xié)議的總稱,它由應(yīng)用層的HTTP、FTP、SMTP和傳輸層的TCP及網(wǎng)絡(luò)層的IP等一系列協(xié)議組成。,4,TCP(傳輸控制協(xié)議)是面向連接的、可靠的點對點的傳輸協(xié)議。 UDP(用戶數(shù)據(jù)報協(xié)議)是無連接的不可可靠的傳輸協(xié)議。 IP是網(wǎng)絡(luò)層協(xié)議,實現(xiàn)按IP地址的網(wǎng)絡(luò)路由的功能。 IP地址:標識計算機等網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)地址,由四個8位的二進制數(shù)組成,中間以小數(shù)點分隔。如:166
4、.111.136.3, 0 主機名(hostname):網(wǎng)絡(luò)地址的助記名,按照域名進行分級管理。如 服務(wù)類型(service):網(wǎng)絡(luò)的各種服務(wù)。 如:web服務(wù), ftp服務(wù), smtp服務(wù), Telnet服務(wù)等,1、網(wǎng)絡(luò)基礎(chǔ)知識,5,1、網(wǎng)絡(luò)基礎(chǔ)知識-TCP,通過TCP協(xié)議傳輸,得到的是一個順序的無差錯的數(shù)據(jù)流。發(fā)送方和接收方的成對的兩個socket之間必須建立連接,以便在TCP協(xié)議的基礎(chǔ)上進行通信,當(dāng)一個socket(通常都是server socket)等待建立連接時,另一個socket可以要求進行連接,一旦這兩個socket連接起來,它們就可以進行雙向數(shù)據(jù)傳輸,雙
5、方都可以進行發(fā)送或接收操作。,6,1、網(wǎng)絡(luò)基礎(chǔ)知識-UDP,UDP是User Datagram Protocol的簡稱,是一種無連接的協(xié)議,每個數(shù)據(jù)報都是一個獨立的信息,包括完整的源地址或目的地址,它在網(wǎng)絡(luò)上以任何可能的路徑傳往目的地,因此能否到達目的地,到達目的地的時間以及內(nèi)容的正確性都是不能被保證的。,7,1、網(wǎng)絡(luò)基礎(chǔ)知識-套接字,“套接字”或者“插座”(Socket)也是一種軟件形式的抽象,用于表達兩臺機器間一個連接的“終端”。 針對一個特定的連接,每臺機器上都有一個“套接字”,可以想象它們之間有一條虛擬的“線纜”。線纜的每一端都插入一個“套接字”或者“插座”里。 進程之間要實現(xiàn)通信首先
6、要建立各自的套接字。 在Java中,我們創(chuàng)建一個套接字,用它建立與其他機器的連接。,8,1、網(wǎng)絡(luò)基礎(chǔ)知識-端口號,指TCP/IP協(xié)議中的端口,是邏輯意義上的概念。主機上每一個提供服務(wù)的程序都運行在該主機的一個對外開放的端口上。程序員可以在創(chuàng)建自己的服務(wù)程序時使用自定義的端口,通過這個端口號來連接服務(wù)進程以接收服務(wù)。 如果把IP地址比作一間房子 ,端口就是出入這間房子的門。 端口常以16位無符號整數(shù)編號(0-65535) 保留端口(0-1023)和動態(tài)端口(1024-65535) 一個端口與使用該端口的服務(wù)進程是對應(yīng)的,Java網(wǎng)絡(luò)程序設(shè)計支持機制,利用URL訪問網(wǎng)絡(luò)資源 利用Socket通信,
7、支持Socket通信的類,網(wǎng) 絡(luò),Java網(wǎng)絡(luò)應(yīng)用系統(tǒng),支持URL的類,10,Java網(wǎng)絡(luò)程序設(shè)計支持機制,支持網(wǎng)絡(luò)通信的類在包中。 URL, URLConnection, Socket, ServerSocket ,使用TCP實現(xiàn)網(wǎng)絡(luò)通信。 DatagramPacket, DatagramSocket, MulticastSocket 支持 UDP 通信方式。,InetAddress類 URL類 URLConnection類 套接字類 DatagramPacket類,2、Java網(wǎng)絡(luò)基本類,Socket類、ServerSocket類 DatagramSocket類,12,InetAddres
8、s類是描述Internet地址的類。 常用方法: UnknownHostException異常,2、Java網(wǎng)絡(luò)基本類 -InetAddress類,static InetAddress getLocalHost(); 返回本地主機。 static InetAddress getByName(String host); 在給定主機名的情況下確定主機的 IP 地址。 String getHostAddress(); /獲得IP地址 String getHostName(); /獲得主機名,13,2、Java網(wǎng)絡(luò)基本類-InetAddress類,import .*; import java.io.*
9、; public class GetLocalHost public static void main(String args) InetAddress myIp = null; String ip, hostname; try myIp = InetAddress.getLocalHost(); System.out.println(myIp); ip = myIp.getHostAddress(); /獲得IP地址 System.out.println(ip); hostname = myIp.getHostName(); /獲得主機名 System.out.println(hostnam
10、e); catch(UnknownHostException e) ,統(tǒng)一資源定位器URL URL(Uniform Resource Locator)是一致資源定位器的簡稱,它表示Internet上某一資源的地址。通過URL我們可以訪問Internet上的各種網(wǎng)絡(luò)資源,比如最常見的WWW,F(xiàn)TP站點。瀏覽器通過解析給定的URL可以在網(wǎng)絡(luò)上查找相應(yīng)的文件或其他資源。 URL的組成 protocol:/resourceName 協(xié)議名(protocol)指明獲取資源所使用的傳輸協(xié)議,如http、ftp、gopher、file等 資源名(resourceName)則應(yīng)該是資源的完整地址,包括主機名、
11、端口號、文件 名或文件內(nèi)部的一個引用。例如: 協(xié)議名:/主機 協(xié)議名:/機器名文件名 :80/Gamelan/network.html#BOTTOM 協(xié)議名:/機器名端口號文件名內(nèi)部引用,2、Java網(wǎng)絡(luò)基本類-URL類,15,創(chuàng)建一個URL 為了表示URL, 中實現(xiàn)了類URL。可以通過下面的構(gòu)造方法來初始化一個URL對象: (1) public URL (String spec);通過一個表示URL地址的字符串可以構(gòu)造一個URL對象。URL urlBase=new URL(“http:/www. (2) public URL(URL context, String spec); 通過基URL
12、和相對URL構(gòu)造一個URL對象。 URL net263=new URL (“ URL index263=new URL(net263, index.html),2、Java網(wǎng)絡(luò)基本類-URL類,16,(3) public URL(String protocol, String host, String file);new URL(http, , /pages/G. html);(4) public URL(String protocol, String host, int port, String file);URL gamelan=new URL(http, , 80, Pages/Gwor
13、k.html);,2、Java網(wǎng)絡(luò)基本類-URL類,2、Java網(wǎng)絡(luò)基本類-URL類,注意:類URL的構(gòu)造方法都聲明拋棄非運行時例外(MalformedURLException),因此生成URL對象時,我們必須要對這一例外進行處理,通常是用try-catch語句進行捕獲。格式如下:tryURL myURL= new URL()catch (MalformedURLException e)/exception handler code here,18,2、Java網(wǎng)絡(luò)基本類-URL類,一個URL對象生成后,其屬性是不能被改變的,但是我們可以通過類URL所提供的方法來獲取這些屬性:public S
14、tring getProtocol() 獲取該URL的協(xié)議名。public String getHost() 獲取該URL的主機名。public int getPort() 獲取該URL的端口號,如果沒有設(shè)置端口,返回-1。public String getFile() 獲取該URL的文件名。public String getRef() 獲取該URL在文件中的相對位置。public String getQuery() 獲取該URL的查詢信息。public String getPath() 獲取該URL的路徑public String getAuthority() 獲取該URL的權(quán)限信息publ
15、ic String getUserInfo() 獲得使用者的信息public String getRef() 獲得該URL的錨,19,2、Java網(wǎng)絡(luò)基本類-URL類,import .*; import java.io.*; public class ParseURL public static void main(String args) throws Exception URL aURL = new URL(:80/docs/books/ + tutorial/index.html#DOWNLOADING); System.out.println(protocol = + aURL.get
16、Protocol(); System.out.println(host = + aURL.getHost(); System.out.println(filename = + aURL.getFile(); System.out.println(port = + aURL.getPort(); System.out.println(ref = + aURL.getRef(); ,20,2、Java網(wǎng)絡(luò)基本類-URL類 從URL讀取WWW網(wǎng)絡(luò)資源,當(dāng)我們得到一個URL對象后,就可以通過它讀取指定的WWW資源。這時我們將使用URL的方法openStream(),其定義為:InputStream o
17、penStream(); 方法openSteam()與指定的URL建立連接并返回InputStream類的對象以從這一連接中讀取數(shù)據(jù)。,public class URLReader public static void main(String args) throws Exception /聲明拋出所有例外 URL tirc = new URL( /構(gòu)建一個URL對象 BufferedReader in = new BufferedReader(new InputStreamReader(tirc.openStream(); /使用openStream得到一個輸入流,并由此構(gòu)建一個Buffer
18、edReader對象 String inputLine; File outfile = new File(test.html); PrintWriter out = new PrintWriter(new FileWriter(outfile); while (inputLine = in.readLine() != null) /從輸入流中不斷讀取數(shù)據(jù)直到讀完為止 out.println(inputLine); /把讀入的數(shù)據(jù)寫入test.html in.close(); /關(guān)閉輸入流 out.close(); ,22,3、Java網(wǎng)絡(luò)基本類- URLConnetction類,通過URL的方
19、法openStream(),我們只能從網(wǎng)絡(luò)上讀取數(shù)據(jù),如果我們同時還想輸出數(shù)據(jù),例如向服務(wù)器端的CGI程序發(fā)送一些數(shù)據(jù),我們必須先與URL建立連接,然后才能對其進行讀寫,這時就要用到類URLConnection了。 類URLConnection也在包中定義,它表示Java程序和URL在網(wǎng)絡(luò)上的通信連接。當(dāng)與一個URL建立連接時,首先要在一個URL對象上通過方法openConnection()生成對應(yīng)的URLConnection對象。,23,下面的程序段首先生成一個指向地址,try URL zjut = new URL ( URLConnectonn tc = zjut.openConnecti
20、on(); catch(MalformedURLException e) /創(chuàng)建URL()對象失敗 catch (IOException e) /openConnection()失敗,24,類URLConnection提供了很多方法來設(shè)置或獲取連接參數(shù),程序設(shè)計時最常使用的是getInputStream()和getOurputStream(),其定義為:InputSteram getInputSteram();OutputSteram getOutputStream();,3、Java網(wǎng)絡(luò)基本類- URLConnetction類,25,通過返回的輸入/輸出流我們可以與遠程對象進行通信,URL
21、url =new URL (“ /創(chuàng)建一URL對象 URLConnectin con=url.openConnection(); /由URL對象獲取URLConnection對象 DataInputStream dis=new DataInputStream (con.getInputSteam(); /由URLConnection獲取輸入流,并構(gòu)造DataInputStream對 PrintStream ps=new PrintSteam(con.getOutupSteam();/由URLConnection獲取輸出流,并構(gòu)造PrintStream對象 String line=dis.rea
22、dLine(); /從服務(wù)器讀入一行 ps.println(client); /向服務(wù)器寫出字符串 client,26,4、 Socket和ServerSocket類,客戶套接字類(Socket) 服務(wù)器套接字類(ServerSocket),27,套接字類Socket,1、 Socket的四種構(gòu)造方法 (1) Socket(String host,int port) thows UnknownHostException,IOException 創(chuàng)建一個面向連接的套接字對象,并將其連接至特定的主機(host)的特定端口(port) (2) Socket(String host,int port,
23、boolean stream) 創(chuàng)建一個套接字對象,并將其連接至特定的主機的特定端口上,此套接字對象是面向連接的還是數(shù)據(jù)報的,則由最后的一個參數(shù)決定 (3) Socket(InetAddress address,int port) 創(chuàng)建一個面向連接的套接字對象,并將其連接至特定IP的主機的特定端口(port) (4) Socket( InetAddress address ,int port,boolean stream) 創(chuàng)建一個套接字對象,并將其連接至特定ip主機的特定端口上,此套接字對象是面向連接的還是數(shù)據(jù)報的,則由最后的一個參數(shù)決定,28,套接字類Socket,2、 Socket提供的
24、主要方法 (1) InetAddress getInetAddress() 返回該套接字所連接的IP地址 (2) Int getPort() 返回該套接字所連接的遠程端口 (3) sychronized void close() throws IOException 關(guān)閉套接字 (4) InputStream getInputStream () throws IOException 獲得套接字綁定的數(shù)據(jù)的輸入流 (5) PrintStream getOutputStream() throws IOException 獲得向套接字綁定的數(shù)據(jù)輸出流,29,服務(wù)器套接字(ServerSocket),
25、1、ServerSocket類的構(gòu)造方法 (1) ServerSocket(int port) throws IOException 構(gòu)造一個ServerSocket對象,其綁定的端口號為port (2) ServerSocket(int port , int count) 構(gòu)造一個ServerSocket對象,其綁定的端口號為port,如port為0,則該對象與缺省的端口號綁定。其中count為該對象端口上等待的連接的客戶最大數(shù),30,服務(wù)器套接字(ServerSocket),2、ServerSocket類的主要方法 (1) Socket accept() throws IOExceptio
26、n 等待客戶連接,該方法將阻塞當(dāng)前系統(tǒng)服務(wù)線程,直到連接成功。該方法返回一個套接字類對象,通過該套接字,新的服務(wù)子線程與連接的客戶進行通信。 (2) Void close() throws IOException 關(guān)閉套接字,31,怎樣用socket進行客戶與服務(wù)器通信,Socket是兩個實體之間進行通信的有效端點。通過socket可以獲得源IP地址和源端口、終點IP地址和終點端口。用戶可以將多個socket連入同一個端口,以便對于單個端口可以有多個連接。 通過socket客戶/服務(wù)器編程可以創(chuàng)建一個能被許多人使用的分布式程序,并且所有客戶均可以用統(tǒng)一的前端進行工作,并與服務(wù)器進行通信。,32
27、,與服務(wù)器通信必須具備三個條件,服務(wù)器程序 客戶程序 連接它們的socket程序,33,ServerSocket類,它的實例使服務(wù)器能夠檢測到指定端口的信息 accept()方法可以使服務(wù)器檢測到指定端口的活動 服務(wù)器還負責(zé)檢測要求與它連接的客戶。,getInputStream()和getOutStream()方法來發(fā)送和捕捉數(shù)據(jù)。 try /傳遞給它一個整數(shù)作為服務(wù)器指定可以使用的給定端口 ServerSocket myServerSocket=new ServerSocket(100); Socket my100Socket=myServerSocket.accept(); /檢測端口的活
28、動 catch(Exception e),Socket類,34,Accept()方法直到接收到用戶的連接請求,才繼續(xù)執(zhí)行中斷的執(zhí)行程序。一旦客戶的連接成功,my100Socket就代表該連接,并且可以發(fā)送和接收數(shù)據(jù)。 最后,我們看一看客戶是怎樣請求連接的。其連接方法如下: try Socket mySocket=new Socket(,100); catch(Exception e ),Socket類,35,Java數(shù)據(jù)庫編程基礎(chǔ),客戶機/服務(wù)器 應(yīng)用程序,ODBC,JDBC,兩個常用的API,數(shù)據(jù)庫,執(zhí)行 SQL 語句,檢索查詢結(jié)果,36,數(shù)據(jù)庫,ODBC,客戶機/服務(wù)器 GUI應(yīng)用程序,O
29、DBC (開放式數(shù)據(jù)庫連接) (Microsoft 提供),插 入,刪 除,修 改,應(yīng)用程序編程接口,查詢,37,JDBC,JDBC (Java 數(shù)據(jù)庫連接) (sun公司提供),Java 應(yīng)用程序編程接口,Java應(yīng)用程序,數(shù)據(jù)庫,插 入,修 改,刪 除,查詢,38,JDBC 驅(qū)動程序的類型,JDBC 驅(qū)動程序 的類型,JDBC-ODBC橋驅(qū)動程序及ODBC驅(qū)動程序,本地API部分Java驅(qū)動程序,JDBC-Net 純Java驅(qū)動程序,本地協(xié)議純Java驅(qū)動程序,39,JDBC 體系結(jié)構(gòu),Java 程序,JDBC 驅(qū)動程序,數(shù)據(jù)庫,SQL 命令,結(jié)果,40,JDBC 體系結(jié)構(gòu),應(yīng)用層,Dri
30、ver,Statement,ResultSet,Connection,各接口,驅(qū)動層,41,java.sql 包,42,java.sql 包,43,java.sql 包,SQLException,/* * fooBar */ public void foobar() throws SQLException throw new SQLException(“剛引發(fā)了一個 SQLException ”); , try fooBar(); catch(SQLException ex) System.out.println(“已捕獲一個 SQLException 異常!”); System.out.pr
31、intln(“消息: “ + ex.getMessage(); System.out.println(“錯誤代碼: “ + ex.getErrorCode(); ,調(diào)用 fooBar,44,JDBC 程序訪問數(shù)據(jù)庫的步驟 2-1,開 始,導(dǎo)入 java.sql包,加載并注冊驅(qū)動程序,創(chuàng)建一個 Connection 對象,創(chuàng)建一個 Statement 對象,執(zhí)行語句,關(guān)閉ResultSet 對象,關(guān)閉Statement對象,關(guān)閉連接,結(jié) 束,使用ResultSet對象,45,Friends 表的結(jié)構(gòu),JDBC 程序訪問數(shù)據(jù)庫的步驟 2-2,它演示訪問數(shù)據(jù)庫的各個步驟 在執(zhí)行示例 1 中的程序之前
32、,SQL Server 中應(yīng)該存在一個 名為 friends 的表,46,Friends 表的結(jié)構(gòu),JDBC 程序訪問數(shù)據(jù)庫的步驟 2-2,/* 2005 Aptech Limited * 版權(quán)所有 */ import java.sql.SQLException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.sql.ResultSet; /* 這個類演示訪問數(shù)據(jù)庫需遵循的各個步驟. * version 1.0, 2005 年 8 月 26 日
33、* author Ben */ class Jdbctest /* 構(gòu)造方法 */ protected Jdbctest() ,47,Friends 表的結(jié)構(gòu),JDBC 程序訪問數(shù)據(jù)庫的步驟 2-2,它演示訪問數(shù)據(jù)庫的各個步驟 在執(zhí)行示例 1 中的程序之前,SQL Server 中應(yīng)該存在一個 名為 friends 的表,/*這是 main 方法. */ public static void main(String args) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException ce) S
34、ystem.out.println(ce); try String url = jdbc:odbc:test; Connection con = DriverManager.getConnection(url); Statement s = con.createStatement(); ResultSet rs = s.executeQuery(select * from friends); while (rs.next() System.out.print(rs.getString(1) + t); System.out.print(rs.getString(2) + t); System.
35、out.print(rs.getInt(3) + t); System.out.print(rs.getDate(4) + t); System.out.println( ); rs.close(); s.close(); con.close(); catch (SQLException ce) System.out.println(ce); ,48,JDBC 查詢2-1,SQL 查詢字符串,executeQuery() 方法,作為參數(shù)傳遞,ResultSet,返回查詢數(shù)據(jù),SELECT name, email, phone FROM colleagues;,使用 SQL 語句,查詢可編寫為:
36、,String str = SELECT emp_id, lname, fname FROM colleagues; Statement stmt = con.createStatement(); ResultSet rset = stmt.executeQuery(str);,使用 JDBC 編寫此查詢,則代碼為:,Statement接口,49,JDBC 查詢2-2,它演示 SQL 中 sum( ) 方法的用法,演示:示例 2,/* * Jdbctest2 */ import java.sql.SQLException; import java.sql.Connection; import
37、java.sql.DriverManager; import java.sql.Statement; import java.sql.ResultSet; /* 這個類演示 SQL 中 sum() 方法的用法 * version 1.0, 2005 年 8 月 26 日 * author Ben */ class Jdbctest2 /* 構(gòu)造方法*/ protected Jdbctest2() ,/* 這是 main 方法*/ public static void main(String args) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver
38、); catch (ClassNotFoundException ce) System.out.println(ce); try String url = jdbc:odbc:test; Connection con = DriverManager.getConnection(url); Statement s = con.createStatement(); ResultSet rs = s.executeQuery( select hiredate, sum(salary) from friends group by hiredate); while (rs.next() System.o
39、ut.print(rs.getDate(1) + t); System.out.print(rs.getInt(2) + t); System.out.println( ); rs.close; s.close(); con.close(); catch (SQLException ce) System.out.println(ce); ,50,演示:示例 3,它演示 SQL 中 INSERT 語句的用法,/* * Jdbctest3 */ import java.sql.SQLException; import java.sql.Connection; import java.sql.Dri
40、verManager; import java.sql.Statement; import java.sql.ResultSet; /* 這個類演示 INSERT 語句的用法. * version 1.0, 2005 年 8 月 26 日 * author Ben */ class Jdbctest3 /* 構(gòu)造方法 */ protected Jdbctest3() ,JDBC 插入數(shù)據(jù)實現(xiàn),/* 這是 main 方法*/ public static void main(String args) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException ce) System.out.println(ce); try String url = jdbc:odbc:test; String str = INSERT INTO “ + friends(name,address,salary)“ + VALUES(朱八,深圳 ,25690); Connection con = DriverManager.getConnection(url); Statement s = con.createStatement(); int rowcount
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 挖機河道清淤施工流程方案
- 墻面粉刷施工操作方案
- 5g基站質(zhì)量控制施工方案要求
- 歷史文化街區(qū)社區(qū)參與與共建共享方案
- 2026年溫州醫(yī)科大學(xué)附屬第一醫(yī)院口腔科輔助護士招聘2人考試參考題庫及答案解析
- 2026上半年北京門頭溝區(qū)衛(wèi)生健康系統(tǒng)事業(yè)單位招聘衛(wèi)生專業(yè)技術(shù)人員考試參考試題及答案解析
- 2026廣西南寧橫州市百合鎮(zhèn)中心衛(wèi)生院招聘編外衛(wèi)生專業(yè)技術(shù)人員1人考試參考試題及答案解析
- 2026年湖南岳陽市教育體育局直屬學(xué)校公開選調(diào)13名教師筆試備考題庫及答案解析
- 2026江西宜春市靖安縣公安局招聘警務(wù)輔助人員12人筆試參考題庫及答案解析
- 2026內(nèi)蒙古包頭鐵道職業(yè)技術(shù)學(xué)院赴鐵路院校招聘急需專業(yè)教師16人考試參考試題及答案解析
- 建筑工地消防安全工作總結(jié)
- 擋土墻分部工程驗收鑒定書
- 2024年黑龍江省哈爾濱市中考英語試題卷(含答案及解析)
- 外研版(2019)必修第一冊Unit 3 Family Matters Developing ideas教學(xué)設(shè)計
- 老屋記(2023年甘肅蘭州中考語文試卷記敘文閱讀題及答案)
- JJG 692-2010無創(chuàng)自動測量血壓計
- 肺部感染相關(guān)知識講座
- 南平市20232024學(xué)年第一學(xué)期高二期末質(zhì)量檢測試題
- 未來汽車技術(shù)發(fā)展趨勢
- 喉癌氣管套管護理課件
- 急診科急診科醫(yī)生形象與職業(yè)素養(yǎng)培訓(xùn)
評論
0/150
提交評論