資源描述:
《數(shù)據(jù)庫訪問課件.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第14講數(shù)據(jù)庫訪問(2)單元6:任務(wù)4溫故—知識回顧SQL語句增、刪、改、查在JSP中操作數(shù)據(jù)庫創(chuàng)建連接—Connection對象通過連接對象,創(chuàng)建SQL語句對象Statement通過Statement對象執(zhí)行查詢或更新操作處理查詢結(jié)果結(jié)果集對象的next()、getXxx("")方法作業(yè)中的問題操作異常,查看控制臺異常提示。檢查SQL語句是否正確在控制臺輸出SQL語句字符串,檢查是否正確本講要點與教學(xué)目標(biāo)【教學(xué)要點】(1)用戶登錄案例(2)商品信息檢索案例【教學(xué)目標(biāo)】掌握數(shù)據(jù)庫的一般訪問方法,掌握數(shù)據(jù)查詢技巧,熟悉SQL語句調(diào)用。案例1:用戶登錄處理主頁index.jsp未登錄時界面登
2、錄成功時界面點擊安全退出,重新顯示未登錄界面案例1:用戶登錄處理添加標(biāo)題文字案例分析用戶合法信息存于數(shù)據(jù)庫中,檢查登錄時輸入的用戶名和密碼是否合法需要通過查詢數(shù)據(jù)庫才能確定,而不能用固定的用戶名和密碼去檢驗用戶輸入,以下條件判斷是不合理的:if(“aaa".equals(name)&&"123".equals(pwd)
3、
4、“yy".equals(name)&&"456".equals(pwd)){session.setAttribute("user",name);response.sendRedirect("index.jsp");}因此,首先需要修改登錄處理程序login.jsp,將合
5、法性驗證改為從數(shù)據(jù)庫查詢匹配數(shù)據(jù),并檢查查詢結(jié)果案例1:用戶登錄處理具體思路1、獲取客戶端輸入的用戶名和密碼2、連接數(shù)據(jù)庫(創(chuàng)建連接對象Connection)3、創(chuàng)建StateMent對象4、構(gòu)造查詢SQL語句Stringsql="select*fromshop_userwhereu_name='"+name+"'andu_password='"+pwd+"'";5、執(zhí)行SQL查詢6、檢查查詢結(jié)果,如果找到匹配數(shù)據(jù),則進(jìn)行登錄成功處理,否則進(jìn)行登錄失敗處理案例1:用戶登錄處理提供登錄表單—index.jsp用戶名與密碼控件名分別是uname和upass<%if(session.getAt
6、tribute("user")!=null){%><%=(String)session.getAttribute("user")%>,歡迎您!安全退出<%}else{%>朋友,您尚未登錄
用戶名:密碼:<%}%>案例1:用戶登錄處理安全退出—
7、exit.jsp<%session.invalidate();response.sendRedirect("index.jsp");%>案例1:用戶登錄處理登錄處理頁-login.jsp結(jié)構(gòu)案例2:檢索最新商品信息學(xué)習(xí)使用Statement接口和ResultSet接口檢索數(shù)據(jù)庫中數(shù)據(jù)的方法。通過Statement接口執(zhí)行SQL語句,獲得結(jié)果集;通過ResultSet接口讀取結(jié)果集內(nèi)容。案例學(xué)習(xí)目標(biāo)案例知識要點案例2:檢索最新商品信息添加標(biāo)題文字案例完成步驟1)在Oracle數(shù)據(jù)庫中創(chuàng)建shop_product表并添加數(shù)據(jù)2)編寫query.jsp實現(xiàn)以下輸出案例2:檢索最新商品信息添加標(biāo)
8、題文字分析SQL語句要求:(1)查詢shop_product表中單價最低的5個商品的信息(2)輸出時用表格進(jìn)行簡單布局實現(xiàn):嵌套的select語句select*from(select*fromshop_productorderbyp_price)whererownum<=4案例2:檢索最新商品信息<%try{/*建立連接*/Class.forName("oracle.jdbc.driver.OracleDriver");Stringurl="jdbc:oracle:thin:@localhost:1521:orcl";Stringuser="system";Stringpass="Sa1
9、23456";Connectionconn=DriverManager.getConnection(url,user,pass);System.out.println("數(shù)據(jù)庫連接成功");/*查詢表中的數(shù)據(jù)*/Statementsmt=conn.createStatement();Stringsql="select*from(select*fromshop_productorderbyp_price)WHERErownum<=4"