亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? jdbc 入門(mén).txt

?? 給一個(gè)初學(xué)者的建議和指導(dǎo)之路
?? TXT
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
作者:zergman
email: zergman@chinaasp.com
日期:6/12/2001 1:21:07 PM
JDBC 入門(mén) -- 建立聯(lián)接 
教程:JDBC 入門(mén) 作者:Maydene Fisher 翻譯:comer 
  你需要做的第一事情是你與想要使用的 DBMS 建立一個(gè)連接。這包含 2 個(gè)步驟:裝載驅(qū)動(dòng)程序并建立連接。 

裝載驅(qū)動(dòng)程序 
  裝載驅(qū)動(dòng)程序只需要非常簡(jiǎn)單的一行代碼。例如,你想要使用 JDBC-ODBC 橋驅(qū)動(dòng)程序, 可以用下列代碼裝載它: 

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 

  你的驅(qū)動(dòng)程序文檔將告訴你應(yīng)該使用的類(lèi)名。例如, 如果類(lèi)名是 jdbc.DriverXYZ ,你將用代碼以下的代碼裝載驅(qū)動(dòng)程序: 

    Class.forName("jdbc.DriverXYZ"); 

  你不需要?jiǎng)?chuàng)建一個(gè)驅(qū)動(dòng)程序類(lèi)的實(shí)例并且用 DriverManager 登記它,因?yàn)檎{(diào)用 Class.forName 將自動(dòng)將加載驅(qū)動(dòng)程序類(lèi)。如果你曾自己創(chuàng)建實(shí)例,你將創(chuàng)建一個(gè)不必要的副本,但它不會(huì)帶來(lái)什么壞處。 

  加載 Driver 類(lèi)后,它們即可用來(lái)與數(shù)據(jù)庫(kù)建立連接。 

建立連接 
  第二步就是用適當(dāng)?shù)尿?qū)動(dòng)程序類(lèi)與 DBMS 建立一個(gè)連接。下列代碼是一般的做法: 

    Connection con = DriverManager.getConnection(url, "myLogin", "myPassword"); 

  這個(gè)步驟也非常簡(jiǎn)單,最難的是怎么提供 url。如果你正在使用 JDBC-ODBC 橋, JDBC URL 將以 jdbc:odbc 開(kāi)始:余下 URL 通常是你的數(shù)據(jù)源名字或數(shù)據(jù)庫(kù)系統(tǒng)。因此,假設(shè)你正在使用 ODBC 存取一個(gè)叫 "Fred" 的 ODBC 數(shù)據(jù)源,你的 JDBC URL 是 jdbc:odbc:Fred 。把 "myLogin" 及 "myPassword" 替換為你登陸 DBMS 的用戶(hù)名及口令。如果你登陸數(shù)據(jù)庫(kù)系統(tǒng)的用戶(hù)名為 "Fernanda" 口令為 "J8",只需下面的 2 行代碼就可以建立一個(gè)連接: 

String url = "jdbc:odbc:Fred"; 
Connection con = DriverManager.getConnection(url,"Fernanda", "J8"); 
  如果你使用的是第三方開(kāi)發(fā)了的 JDBC驅(qū)動(dòng)程序,文檔將告訴你該使用什么 subprotocol, 就是在 JDBC URL 中放在 jdbc 后面的部分。例如, 如果驅(qū)動(dòng)程序開(kāi)發(fā)者注冊(cè)了 acme 作為 subprotocol, JDBC URL 的第一和第二部分將是 jdbc:acme。驅(qū)動(dòng)程序文檔也會(huì)告訴你余下 JDBC URL 的格式。JDBC URL 最后一部分提供了定位數(shù)據(jù)庫(kù)的信息。 

  如果你裝載的驅(qū)動(dòng)程序識(shí)別了提供給 DriverManager.getConnection 的 JDBC URL ,那個(gè)驅(qū)動(dòng)程序?qū)⒏鶕?jù) JDBC URL 建立一個(gè)到指定 DBMS 的連接。正如名稱(chēng)所示,DriverManager 類(lèi)在幕后為你管理建立連接的所有細(xì)節(jié)。除非你是正在寫(xiě)驅(qū)動(dòng)程序,你可能無(wú)需使用此類(lèi)的其它任何方法,一般程序員需要在此類(lèi)中直接使用的唯一方法是 DriverManager.getConnection。 

  DriverManager.getConnection 方法返回一個(gè)打開(kāi)的連接,你可以使用此連接創(chuàng)建 JDBC statements 并發(fā)送 SQL 語(yǔ)句到數(shù)據(jù)庫(kù)。在前面的例子里,con 對(duì)象是一個(gè)打開(kāi)的連接,并且我們要在以后的例子里使用它。 

JDBC 入門(mén) -- 設(shè)置表 
創(chuàng)建表 
  首先,我們?cè)谖覀兊氖纠龜?shù)據(jù)庫(kù)創(chuàng)建其中一張表 COFFEES,包含在咖啡店所賣(mài)咖啡的必要的信息,包括咖啡名字,他們的價(jià)格,本星期賣(mài)了多少磅及迄今為止賣(mài)的數(shù)目。關(guān)于 COFFEES 表我們以后會(huì)詳細(xì)描述,如下: 

COF_NAME SUP_ID PRICE SALES TOTAL 
Colombian 101 7.99 0 0 
French_Roast 49 8.99 0 0 
Espresso 150 9.99 0 0 
Colombian_Decaf 101 8.99 0 0 
French_Roast_Decaf 49 9.99 0 0 

  存儲(chǔ)咖啡名的列是 COF_NAME,它的 SQL 數(shù)據(jù)類(lèi)型是 VARCHAR,最大的長(zhǎng)度為 32 個(gè)字符。因?yàn)槲覀兯u(mài)的每種類(lèi)型咖啡都使用不同的名字,名字可用于作為唯一識(shí)別咖啡的標(biāo)識(shí),因此可用于作主鍵。第二個(gè)列叫 SUP_ID,用于保存咖啡供應(yīng)商標(biāo)識(shí);其 SQL 數(shù)據(jù)類(lèi)型為 INTEGER。第 3 列叫 PRICE,因?yàn)樗枰4鎺?shù)的十進(jìn)制數(shù),因此它的 SQL 類(lèi)型為 FLOAT。(注意,通常錢(qián)的 SQL 類(lèi)型為 DECIMAL 或 NUMERIC,但在不同 DBMSs 間存在差異,為了避免于老版本的 JDBC 的不兼容性在本教程我們采用更標(biāo)準(zhǔn)的 FLOAT 類(lèi)型)SALES 列的 SQL 類(lèi)型為 INTEGER,其值為本星期所賣(mài)咖啡的磅數(shù)。最后一列,TOTAL 的 SQL 類(lèi)型為 INTEGER,保存了迄今為止所賣(mài)咖啡的總磅數(shù)。 

  數(shù)據(jù)庫(kù)里的第二個(gè)表 SUPPLIERS,保存了每個(gè)供應(yīng)商的信息: 

SUP_ID SUP_NAME STREET CITY STATE ZIP 
101 Acme, Inc. 99 Market Street Groundsville CA 95199 
49 Superior Coffee 1 Party Place Mendocino CA 95460 
150 The High Ground 100 Coffee Lane Meadows CA 93966 

  COFFEES 跟 SUPPLIERS 都包含列 SUP_ID,它意味著可以用 SELECT 語(yǔ)句從這兩張表中取得有關(guān)信息。列 SUP_ID 是 SUPPLIERS 表的主鍵,用于唯一識(shí)別每個(gè)咖啡供應(yīng)商。在 COFFEES 表中,SUP_ID 列被稱(chēng)外鍵。注意每個(gè) SUP_ID 值在 SUPPLIERS 表里只出現(xiàn)一次;這對(duì)主鍵是必須的。在 COFFEES 表里,它作為外鍵,顯然它可以有重復(fù)的 SUP_ID 值,因?yàn)橥还?yīng)商可以提供很多種的咖啡。在本節(jié)的最后,你將看見(jiàn)如何在 SELECT 語(yǔ)句中使用主鍵及外鍵的一個(gè)例子。 

  下面的 SQL 語(yǔ)句用于創(chuàng)建 COFFEES 表。列由列名跟空格跟 SQL 類(lèi)型組成。列(包括列名及其 SQL 類(lèi)型)跟下一個(gè)之間用逗號(hào)分隔。VARCHAR 類(lèi)型創(chuàng)建定義了最大長(zhǎng)度, 因此它需要有一個(gè)參數(shù)來(lái)表示最大長(zhǎng)度。參數(shù)必須在類(lèi)型后面的括號(hào)內(nèi)。SQL 語(yǔ)句如下,列 COF_NAME 的長(zhǎng)度 被限定為不得超過(guò) 32 個(gè)字符: 

CREATE TABLE COFFEES 
(COF_NAME VARCHAR(32), 
SUP_ID INTEGER, 
PRICE FLOAT, 
SALES INTEGER, 
TOTAL INTEGER) 

  這些代碼不帶 DBMS 語(yǔ)句結(jié)束符, 因?yàn)槊總€(gè) DBMS 都可能不同。例如, Oracle 使用一個(gè)分號(hào) (;) 作為語(yǔ)句的結(jié)束,而 Sybase 使用 go。你所使用的驅(qū)動(dòng)程序會(huì)自動(dòng)提供合適的語(yǔ)句結(jié)束符,因此你無(wú)須把它包括在你的 JDBC 代碼中。 

  另外,我們應(yīng)該指出的的是 SQL 語(yǔ)句的格式。在 CREATE TABLE 語(yǔ)句中,關(guān)鍵字采用大寫(xiě)字符,并且每個(gè)項(xiàng)目都另起一行。SQL 并沒(méi)有此要求;僅僅是為了更容易閱讀。SQL 標(biāo)準(zhǔn)是不區(qū)分關(guān)鍵詞的大小寫(xiě)的, 因此,如下例中的 SELECT 語(yǔ)句可以有多種寫(xiě)法。因此下面兩個(gè)不同寫(xiě)法的語(yǔ)句對(duì) SQL 來(lái)說(shuō)是一樣的。 

SELECT First_Name, Last_Name 
FROM Employees 
WHERE Last_Name LIKE "Washington" 

select First_Name, Last_Name from Employees where 
Last_Name like "Washington" 

  然而,引號(hào)里的內(nèi)容是區(qū)分大小寫(xiě)的:在名字"Washington" 里 "W" 必須被大寫(xiě),并且余下的字符必須是小寫(xiě)的。 

  對(duì)于標(biāo)識(shí),不同的 DBMS 有不同的要求,例如, 某些 DBMSs 要求那些列名及表名必須跟創(chuàng)建時(shí)的一樣,有些則沒(méi)有此要求。為安全起見(jiàn),我們?nèi)渴褂么髮?xiě)標(biāo)識(shí)如 COFFEES、SUPPLIERS,因?yàn)槲覀兪悄菢佣x他們的。 

  到止我們寫(xiě)了創(chuàng)建 COFFEES 表的 SQL 語(yǔ)句。現(xiàn)在我們?cè)谒饷婕由弦?hào)(使它成為字符串),并且字符串賦值給變量 createTableCoffees,在以后的 JDBC 代碼中我們可以使用此變量。正如看到的,DBMS 并不在意分行,但對(duì) Java 語(yǔ)言來(lái),String 對(duì)象分行是通不過(guò)編譯的。因而,我們可以用加號(hào) (+) 把每一行的串連接。 

String createTableCoffees = "CREATE TABLE COFFEES " + 
"(COF_NAME VARCHAR(32), SUP_ID INTEGER, PRICE FLOAT, " + 
"SALES INTEGER, TOTAL INTEGER)"; 

  我們?cè)?CREATE TABLE 語(yǔ)句中使用的數(shù)據(jù)類(lèi)型是通用的 SQL 類(lèi)型(也稱(chēng) JDBC 類(lèi)型)它們?cè)陬?lèi) java.sql.Types 中定義。DBMSs 通常使用這些標(biāo)準(zhǔn)的類(lèi)型,因此,當(dāng)你要嘗試一些 JDBC 應(yīng)用程序時(shí),你可以直接使用 CreateCoffees.java 應(yīng)用程序,它使用了 CREATE TABLE 語(yǔ)句。如果你的 DBMS 使用了它的自己的本地的類(lèi)型名字,我們?yōu)槟愎?yīng)其它的應(yīng)用程序,我們將在后面詳細(xì)解釋。 

  在運(yùn)用任何應(yīng)用程序前,當(dāng)然,我們將讓你了解 JDBC 的基礎(chǔ)。 

創(chuàng)建 JDBC Statements 對(duì)象 
  Statement 對(duì)象用于把 SQL 語(yǔ)句發(fā)送到 DBMS 。你只須簡(jiǎn)單地創(chuàng)建一個(gè) Statement 對(duì)象并且然后執(zhí)行它,使用適當(dāng)?shù)姆椒▓?zhí)行你發(fā)送的 SQL 語(yǔ)句。對(duì) SELECT 語(yǔ)句來(lái)說(shuō),可以使用 executeQuery。要?jiǎng)?chuàng)建或修改表的語(yǔ)句,使用的方法是 executeUpdate。 

  需要一個(gè)活躍的連接的來(lái)創(chuàng)建 Statement 對(duì)象的實(shí)例。在下面的例子中,我們使用我們的 Connection 對(duì)象 con 創(chuàng)建 Statement 對(duì)象 stmt: 

Statement stmt = con.createStatement(); 

  到此 stmt 已經(jīng)存在了,但它還沒(méi)有把 SQL 語(yǔ)句傳遞到 DBMS。我們需要提供 SQL 語(yǔ)句作為參數(shù)提供給我們使用的 Statement 的方法。例如,在下面的代碼段里,我們使用上面例子中的 SQL 語(yǔ)句作為 executeUpdate 的參數(shù): 

stmt.executeUpdate("CREATE TABLE COFFEES " + 
"(COF_NAME VARCHAR(32), SUP_ID INTEGER, PRICE FLOAT, " + 
"SALES INTEGER, TOTAL INTEGER)"); 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜免费视频| 色又黄又爽网站www久久| 亚洲精品成人在线| 日韩欧美国产一区二区在线播放| 91影院在线观看| 国产精品影视网| 亚洲永久免费视频| 国产目拍亚洲精品99久久精品| 欧美日韩在线不卡| 99国产精品久| 丁香婷婷综合激情五月色| 欧美aa在线视频| 亚洲午夜激情av| 国产精品不卡一区| 久久九九久精品国产免费直播| 欧美日韩国产美| 91香蕉视频在线| 国产成人av一区| 精品亚洲国内自在自线福利| 亚洲成av人片一区二区梦乃| 亚洲精品日日夜夜| 中文字幕在线不卡国产视频| 国产亚洲视频系列| 精品久久久久久无| 日韩欧美成人午夜| 欧美一区二区女人| 欧美一区二区三区日韩| 欧美日韩精品福利| 欧美日韩国产免费一区二区| 91成人在线精品| 色爱区综合激月婷婷| 91视频在线观看| proumb性欧美在线观看| 成人免费毛片片v| 国产成人综合在线观看| 国产精品69毛片高清亚洲| 国产在线一区二区| 国产一区二区三区免费在线观看| 狠狠色丁香久久婷婷综| 国产一区二区三区免费看| 国产一区 二区| 国产一区二区精品在线观看| 国产一区二区三区在线观看免费 | 亚洲不卡在线观看| 亚洲韩国精品一区| 婷婷六月综合亚洲| 日本欧美一区二区在线观看| 午夜精品福利一区二区三区av| 亚洲高清视频的网址| 日韩高清在线不卡| 美女视频一区二区三区| 国产一区二区毛片| 成人黄页毛片网站| 色欧美日韩亚洲| 欧美剧情电影在线观看完整版免费励志电影 | 亚洲在线视频网站| 性感美女极品91精品| 青青草国产精品97视觉盛宴| 韩国三级中文字幕hd久久精品| 国产91露脸合集magnet | www.爱久久.com| 欧美日韩亚洲综合一区二区三区| 91麻豆精品国产91久久久资源速度| 日韩一级二级三级精品视频| 欧美精品一区二区三| 国产精品精品国产色婷婷| 亚洲一区视频在线| 激情综合五月天| proumb性欧美在线观看| 欧美男男青年gay1069videost| 欧美电视剧在线观看完整版| 国产精品女人毛片| 午夜精品123| 成人午夜又粗又硬又大| 在线观看日韩精品| 精品粉嫩aⅴ一区二区三区四区| 国产精品久久久久7777按摩| 日韩av一区二区在线影视| 国产乱一区二区| 欧美午夜一区二区| 久久精品在线观看| 亚洲第一精品在线| 成人永久aaa| 欧美日韩mp4| 国产精品久久毛片av大全日韩| 午夜伊人狠狠久久| 国产成人免费9x9x人网站视频| 欧美亚洲综合久久| 久久精品男人的天堂| 性做久久久久久| 97久久精品人人澡人人爽| 欧美一区二区三区喷汁尤物| 亚洲天堂福利av| 国产精品亚洲一区二区三区在线| 欧美日精品一区视频| 国产精品久久毛片| 久久国产精品第一页| 在线欧美日韩精品| 国产欧美一区二区精品婷婷| 蜜桃视频一区二区三区| 欧美在线你懂的| 国产精品视频九色porn| 极品美女销魂一区二区三区| 欧美美女一区二区三区| 亚洲欧美日韩国产综合| 国产精品一区二区三区乱码| 5858s免费视频成人| 亚洲精品中文在线| 99精品久久99久久久久| 久久精品亚洲精品国产欧美 | 国产成人在线看| 欧美成人aa大片| 视频一区在线视频| 欧美日韩一区二区欧美激情| 亚洲欧美一区二区三区极速播放| 激情久久久久久久久久久久久久久久 | 国产福利一区在线| 精品国一区二区三区| 日韩激情视频在线观看| 欧美色男人天堂| 亚洲一区二区美女| 在线视频国内一区二区| 亚洲欧美日韩国产成人精品影院| 福利91精品一区二区三区| 久久久国产一区二区三区四区小说 | 国产精品一区二区三区网站| 欧美电影精品一区二区| 蜜桃视频在线观看一区| 91精品国产日韩91久久久久久| 亚洲高清视频的网址| 欧美亚州韩日在线看免费版国语版| 亚洲精品福利视频网站| 91久久精品午夜一区二区| 一区二区三区电影在线播| 欧美性大战久久久| 亚洲高清不卡在线| 在线电影国产精品| 麻豆精品在线看| 精品免费视频一区二区| 国产一区二区在线视频| 欧美激情中文不卡| 97久久精品人人做人人爽50路| 亚洲欧洲制服丝袜| 欧美视频一区在线| 日韩不卡一区二区三区| 欧美成人vr18sexvr| 国产丶欧美丶日本不卡视频| 中文字幕久久午夜不卡| 91麻豆123| 五月婷婷激情综合网| 欧美一级片免费看| 国产一区二区电影| 国产精品美女视频| 在线观看亚洲一区| 日韩电影一区二区三区| 欧美精品一区二区蜜臀亚洲| 国产高清不卡一区| 亚洲激情自拍偷拍| 91精品国产欧美一区二区| 国产一区二区精品久久| 亚洲日本一区二区三区| 欧美久久高跟鞋激| 国产一区二区三区高清播放| 中文字幕一区二区日韩精品绯色| 欧美系列在线观看| 裸体一区二区三区| 国产精品麻豆久久久| 欧美精品乱码久久久久久按摩 | 亚洲线精品一区二区三区八戒| 在线播放中文字幕一区| 国产精品一区免费在线观看| 亚洲少妇30p| 欧美成人精精品一区二区频| 99这里只有久久精品视频| 日韩国产欧美在线观看| 国产精品三级电影| 欧美一区二区三区喷汁尤物| 成人国产精品免费网站| 日本成人中文字幕在线视频| 国产日韩三级在线| 欧美三级中文字| 成人免费av网站| 美女在线视频一区| 亚洲精品免费看| 久久久蜜桃精品| 欧美久久久影院| 99久久精品免费观看| 久久国产尿小便嘘嘘尿| 一区二区视频在线看| 欧美精品一区二区高清在线观看| 一本色道亚洲精品aⅴ| 激情成人综合网| 午夜精品福利一区二区三区蜜桃| 中国色在线观看另类| 日韩视频免费观看高清在线视频| 91蜜桃视频在线| 东方aⅴ免费观看久久av| 日本三级亚洲精品| 亚洲狠狠爱一区二区三区| 国产精品成人午夜|