《SQL Server數據庫系統(tǒng)基礎》課件012_第1頁
《SQL Server數據庫系統(tǒng)基礎》課件012_第2頁
《SQL Server數據庫系統(tǒng)基礎》課件012_第3頁
《SQL Server數據庫系統(tǒng)基礎》課件012_第4頁
《SQL Server數據庫系統(tǒng)基礎》課件012_第5頁
已閱讀5頁,還剩121頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第12章數據庫項目應用實踐12.1JDBC技術簡介12.2JDBC應用實例12.3ASP.net應用實例

學會了數據庫,一定要到項目中去應用,這樣才能體現數據庫的價值。本章任務:?在項目中應用SQLServer數據庫。12.1JDBC技術簡介12.1.1JDBC的概念

JDBC(JavaDataBaseConnectivity)是Java與數據庫的接口規(guī)范。JDBC定義了一個支持標準SQL功能的通用低層的應用程序編程接口(API),它由Java語言編寫的類和接口組成,旨在讓各數據庫開發(fā)商為Java程序員提供標準的數據庫API。JDBCAPI定義了若干Java中的類,表示數據庫聯接、SQL指令、結果集、數據庫元數據等,它允許Java程序員發(fā)送SQL指令并處理結果。通過驅動程序管理器,JDBCAPI可利用不同的驅動程序聯接不同的數據庫系統(tǒng)。

JDBC與ODBC都是基于X/Open的SQL調用級接口,JDBC的設計在思想上沿襲了ODBC,同時在其主要抽象和SQLCLI的實現上也沿襲了ODBC,這使得JDBC容易被接受。JDBC的總體結構類似于ODBC,也有四個組件:應用程序、驅動程序管理器、驅動程序和數據源。JDBC保持了ODBC的基本特性,也獨立于特定數據庫。使用相同源代碼的應用程序通過動態(tài)加載不同的JDBC驅動程序可以訪問不同的DBMS。聯接不同的DBMS時,各個DBMS之間僅通過不同的URL進行標識。JDBC的DatabaseMetaData接口提供了一系列方法,可以檢查DBMS對特定特性的支持,并相應確定有什么特性,從而能對特定數據庫的特性予以支持。與ODBC一樣,JDBC也支持在應用程序中同時建立多個數據庫聯接,采用JDBC可以很容易地用SQL語句同時訪問多個異構的數據庫,為異構的數據庫之間的互操作奠定基礎。JDBC除了具有ODBC的上述特點外,還具有對硬件平臺、操作系統(tǒng)異構性的支持。這主要是因為ODBC使用的是C語言,而JDBC使用的是Java語言。Java語言具有與平臺無關、移植性強、安全性高、穩(wěn)定性好、分布式、面向對象等眾多優(yōu)點,而JDBC確保了“100%純Java”的解決方案。利用Java的平臺無關性,JDBC應用程序可以自然地實現跨平臺特性,因而更適合于Internet上異構環(huán)境的數據庫應用。此外,JDBC驅動程序管理器是內置的,驅動程序本身也可通過Web瀏覽器自動下載,無需安裝、配置,而ODBC驅動程序管理器和ODBC驅動程序必須在每臺客戶機上分別安裝、配置。12.1.2JDBC對象模型

1.?Connection對象

Connection對象用于聯接數據源,包含諸如DatabaseURL(數據源)、UserID(用戶名)和Password(密碼)等訪問特定數據源所需的屬性。命令是通過聯接進行傳輸的,而結果集以流的形式返回,該流可以通過ResultSet讀取。目前,JDBC2.0~JDBC3.0都不支持DataSet對象(不過,最新的JDBC4.0支持DataSet對象)。

2.?Statement對象

Statement類似于ADO.NET的Command對象,用于對數據源執(zhí)行命令。一個命令可以是一個存儲過程調用、一條更新語句或者一條返回結果的語句,也可以使用輸入和輸出參數,并且返回值。例如,可以對數據庫執(zhí)行查詢、新增、修改和刪除數據等命令。3.ResultSet對象

ResultSet類似于ADO.NET的DataReader對象,用于在只讀和只進的聯接模式下從數據源讀取數據。ResultSet對象是用來讀取數據庫的最簡單方式,它只能讀取,不能寫入。ResultSet支持正向讀取、反向讀取,也可讀取中間某條數據。不過要注意的是,默認情況下只能正向讀取,且數據的每個列(字段)只能讀一次(可從Statement對象設置)。12.2JDBC應用實例12.2.1安裝

(1)安裝環(huán)境:Windows2000Server,SQLServer2000。

(2)安裝軟件:jdk1.5和Tomcat5.0以上。

(3)安裝方法:將光盤中的college_java.rar解壓到本地,并將解壓出的文件夾下的build\web文件夾復制到Tomcat安裝路徑\webapps下,并重命名為college_java即可。如果用netbeanIDE5.0,則按下面的順序操作:打開文件→打開項目→選擇解壓的文件夾→打開項目文件夾→右鍵點擊打開項目→運行項目。12.2.2數據庫配置用文本編輯器打開Tomcat安裝路徑\webapps\college_java\WEB-INF下的web.xml文件,分別修改以下位置并保存:

(1)找到下列兩行語句:

<param-name>DatabaseDriver</param-name><param-value>sun.jdbc.odbc.JdbcOdbcDriver</param-value>

把?“sun.jdbc.odbc.JdbcOdbcDriver”?改為SQLServer數據庫jdbc驅動?“com.microsoft.jdbc.sqlserver.SQLServerDriver”。

(2)找到下列語句:

<param-name>Databaseurl</param-name><param-value>jdbc:odbc:Driver={MicroSoftAccessDriver(*.mdb)};

DBQ=c:/college.mdb</param-value>

將“jdbc:odbc:Driver={MicroSoftAccessDriver(*.mdb)};DBQ=c:/college.mdb”改為“jdbc:microsoft:sqlserver://25:1433;DatabaseName=college”(其中,25為數據庫地址url,1433為SQL用的端口號,college為數據庫名稱)。

(3)找到下列語句:

<param-name>User</param-name><param-value>sa</param-value><param-name>Password</param-name><param-value>sa</param-value>

把兩個sa分別改為數據庫用戶名和密碼。12.2.3應用實現在瀏覽器地址欄輸入:http://localhost:8084/college_java/index.jsp,顯示如圖12-1所示。

1.增加學生信息先查出可增加新學生的班級,然后根據輸入學號、姓名等學生信息添加到數據庫,并顯示操作的SQL語句。實現上述功能的代碼是:stu_insert_java.jsp、stu_insert_success_java.jsp,這些代碼可從出版社指定的網站上下載。如圖12-1所示進行填寫,按“增加”后得到結果,如圖12-2所示。圖12-1使用jdbc的數據庫記錄添加界面圖12-2記錄添加成功stu_insert_java.jsp的內容如下:

<%@pagecontentType="text/html;charset=gb2312"%><%@pageimport="java.sql.*"%><%@pageimport="dbsetup.dbname"%><html><head><title>增加學生</title></head><body><formname="form1"method="post"action="stu_insert_success_java.jsp"><divalign="center"><tablewidth="48%"border="1"><tr><tdwidth="51%"><divalign="center">學號:</div></td><tdwidth="49%"><inputtype="text"name="stuno"></td></tr><tr><td><divalign="center">姓名:</div></td><td><inputtype="text"name="stuname"></td></tr><tr><td><divalign="center">性別:</div></td><td><selectname="stusex"><optionvalue="男">男</option><optionvalue="女">女</option></select></td></tr><tr><td><divalign="center">出生年月:</div></td><td><inputtype="text"name="stubirth"></td></tr><tr><td><divalign="center">班級:</div></td><td><%Class.forName(dbname.forname).newInstance();Stringurl=dbname.url;System.out.println(url);Stringuser=dbname.user;Stringpassword=dbname.password;Connectionconn=DriverManager.getConnection(url,user,password);Stringsql="select*from班級表";Statementstmt=conn.createStatement();ResultSetrs=stmt.executeQuery(sql);%><selectname="stuclass"><%while(rs.next()){%><optionvalue="<%=rs.getString("班級編號")%>"><%=rs.getString("班級名稱")%></option><%}rs.close();stmt.close();conn.close();%></select></td></tr><tr><td><divalign="center">電話:</div></td><td><inputtype="text"name="stutele"></td></tr><tr><td><divalign="center">地址:</div></td><td><inputtype="text"name="stuaddress"></td></tr><tr><td><divalign="center">身份證:</div></td><td><inputtype="text"name="stuid"></td></tr><tr><tdcolspan="2"><divalign="center"><inputtype="submit"name="Submit"value="提交"><inputtype="reset"name="reset"value="重置"></div></td></tr></table></div></form></body></html>stu_insert_success_java.jsp的內容如下:

<%@pagecontentType="text/html;charset=gb2312"%><%@pageimport="java.sql.*"%><%@pageimport="dbsetup.dbname"%><html><head><metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"><title>增加學生</title></head><body><%Class.forName(dbname.forname).newInstance();//讀取并初始化jdbc驅動程序

Stringurl=dbname.url;//數據庫路徑

Stringuser=dbname.user;//用戶名

Stringpassword=dbname.password;//密碼

Connectionconn=DriverManager.getConnection(url,user,password);//獲取數據庫聯接

Stringsql="insertinto學生表(學號,姓名,性別,出生年月,班級編號,電話,地址,身份證)values('"+dbname.trans(request.getParameter("stuno"))+"','"+dbname.trans(request.getParameter("stuname"))+"','"+dbname.trans(request.getParameter("stusex"))+"','"+dbname.trans(request.getParameter("stubirth"))+"','"+dbname.trans(request.getParameter("stuclass"))+"','"+dbname.trans(request.getParameter("stutele"))+"','"+dbname.trans(request.getParameter("stuaddress"))+"','"+dbname.trans(request.getParameter("stuid"))+"')";//定義SQL語句Statementstmt=conn.createStatement();//初始化新的執(zhí)行命令對象stmt.executeUpdate(sql);//執(zhí)行SQL語句stmt.close();//關閉執(zhí)行命令對象conn.close();//關閉數據庫聯接out.println("增加學生成功!");%><br><%out.println("操作語句:"+sql);//顯示執(zhí)行的數據庫SQL語句%></body></html>2.查詢學生信息根據輸入的學號、姓名、出生日期(起始)、出生日期(結束)這幾個條件查詢符合條件的學生。實現代碼在文件index.jsp和stu_select_success_java.jsp中。按照圖12-3進行操作,查詢結果如圖12-4所示。

3.修改學生信息根據查詢出的學生信息(學號),查出該學生的學生信息并顯示,然后根據修改的學生信息對該學生的信息進行更新,并顯示操作的SQL語句。實現代碼在文件stu_update_java.jsp和stu_update_success_java.jsp中。按照圖12-5進行操作,修改記錄成功后的界面如圖12-6所示。圖12-3查詢出生日期符合條件記錄的顯示界面圖12-4查詢生日范圍內姓李的學生記錄的顯示界面圖12-5修改學生記錄的界面圖12-6修改學生記錄成功的界面4.刪除學生信息根據查詢出的學生信息(學號),刪除該學生的信息,并顯示操作的SQL語句。實現代碼在文件stu_delete_success_java.jsp中。按照圖12-7進行操作,刪除記錄成功后的界面如圖12-8所示。圖12-7刪除學生記錄的界面圖12-8刪除學生記錄成功的界面12.3ASP.net應用實例12.3.1安裝安裝環(huán)境如下:

(1)操作系統(tǒng):Windows2000Server或WindowsXP。

(2)選擇的工具:VisualStudio2005。

(3)數據庫:SQLServer2000。12.3.2初始化先創(chuàng)建數據庫。在查詢分析器中打開相關的文件,如圖12-9所示。在查詢分析器中選中剛剛打開的文件,運行所有代碼就可以創(chuàng)建數據庫和表。圖12-9“打開查詢文件”界面(2)運行VisualStudio2005,如圖12-10所示。點擊菜單欄中的“文件”選項,選擇“打開”項里的網站,如圖12-11所示。打開指定的文件(WebApplication1),如圖12-12所示。圖12-10VisualStudio2005的界面圖12-11在VisualStudio2005中選擇“打開”項里的網站界面圖12-12打開文件WebApplication1的界面12.3.3應用實現的關鍵代碼

(1)在圖12-12中,數據庫聯接的代碼如下:

mycon.ConnectionString="userid=sa;password=sa;"http://數據的用戶名是sa,密碼也是sa&"initialcatalog=college;//college為數據庫名

Server=WWW-77B34AFC674;"http://服務器的選擇。如服務器為xjsb430,則寫為Server=xjsb430mycon.Open()//調用數據庫;

(2)下面分析其中的一段調用數據的代碼。

Dimconnstr,selectcmdAsStringconnstr="userid=sa;password=sa;"&"initialcatalog=college;Server=WWW-77B34AFC674;"selectcmd="selectdistinct班級編號from班級表"http://本行代碼說明選擇了數據庫后,再選擇調用數據庫中的表(3)下面的代碼可實現添加功能(在insert.aspx.vb頁面中)。

mycmd.CommandText="insertinto學生表(學號,姓名,性別,出生年月,

班級編

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論