《jsp第六章jsp操作sql server数据库.ppt》由会员分享,可在线阅读,更多相关《jsp第六章jsp操作sql server数据库.ppt(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、jsp第六章第六章JSP操作操作SQL Server2005数据数据库库8/14/2022中国网页设计:中国网页设计:http:/26.1 JDBC技术概述 JDBC是Java数据库连接(Java DataBase Connectivity)技术的简称l提供了访问数据库的API,它由一些Java类和接口组成。 lJDBC操作不同的数据库仅仅是连接方式上的差异而已,一旦和数据库建立连接,就可以使用JDBC提供的API操作数据库 8/14/2022中国网页设计:中国网页设计:http:/3使用使用JDBCJDBC进行如下操作进行如下操作:l 与一个数据库建立连接。与一个数据库建立连接。n 向已连接
2、的数据库发送向已连接的数据库发送SQLSQL语句。语句。n 处理处理SQLSQL语句返回的结果。语句返回的结果。应用程序jdbc数据库8/14/2022中国网页设计:中国网页设计:http:/4JDBC的优点的优点l可移植性强:不必为每一种数据库编写不同的调用程序 。中国网页设计:http:/ :JDBC-ODBC桥接器l建立建立JDBC-ODBCJDBC-ODBC桥接器桥接器:P127:P127页图页图6.66.6Class类的forName方法加载JdbcOdbcDriverJdbcOdbcDrivertrytryClass.forName(sun.jdbc.odbc.JdbcOdbcDr
3、iver);Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(catch(ClassNotFoundExceptionClassNotFoundException e) e) out.print(e); out.print(e); 8/14/2022中国网页设计:中国网页设计:http:/6创建创建ODBC数据源数据源l打开控制面板-“管理工具”-“数据源数据源(ODBC)” ,这时便会弹出“ODBC数据源管理器”对话框。l单击“ODBC数据源管理器”对话框上的“用户用户DSN”选项卡8/14/2022中国网页设计:中国网页设计:http:/
4、7DSN区别区别l用户DSN:是只对建立它的用户可用。(把相应的配置信息保存在Windows的注册表中)l系统DSN :是建立一个系统级的DSN,允许所有登录服务器的用户使用(同上)。l文件DSN :把具体的配置信息保存在硬盘上的某个具体文件中。文件DSN的一个不足之处就是运行速度相对较慢,而且用户名和口令都是以明文方式保存在文件中,安全性较差。8/14/2022中国网页设计:中国网页设计:http:/8l对本地数据库来说,通常要在User DSN(用户DSN)选项卡上创建一个项;l对远程数据库,则在System DSN(系统DSN)选项卡上创建。8/14/2022中国网页设计:中国网页设计:
5、http:/93、单击“添加”按钮,打开“创建新数据源”对话框4、在对话框中选择SQL Server驱动程序,然后单击“完成”按钮,这时出现 “创建SQL Server的新数据源”对话框,输入新数据源的名称、描述和服务器local。 5、设置登录验证方式与密码 windowsNT验证 sql server验证8/14/2022中国网页设计:中国网页设计:http:/106、选择数据库:更改默认数据库7、测试数据源。中国网页设计:http:/ try lClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);l l catch(ClassNotFoundExcep
6、tion e)l out.print(e);l l 8/14/2022中国网页设计:中国网页设计:http:/12ltry /创建数据源连接l Connection con =DriverManager.getConnection (jdbc:odbc:employee,sa,2005);l/Statement 提供了执行语句和获取结果的基本方法lStatement sql=con.createStatement();lResultSet rs=sql.executeQuery(select * from employee_info );l 8/14/2022中国网页设计:中国网页设计:htt
7、p:/13lout.print();l out.print();l out.print(+雇员号);l out.print(+姓名);l out.print(+出生日期);l out.print(+薪水);l out.print();l 8/14/2022中国网页设计:中国网页设计:http:/14lwhile(rs.next()l out.print();l out.print(+rs.getString(1)+); l out.print(+rs.getString(2)+);l out.print(+rs.getDate(birthday)+); l out.print(+rs.getF
8、loat(salary)+);l out.print() ; l l 8/14/2022中国网页设计:中国网页设计:http:/15lout.print();l con.close();l l catch(SQLException e) l out.print(e);l l %8/14/2022中国网页设计:中国网页设计:http:/162. 使用纯使用纯Java数据库驱动程序数据库驱动程序 lP131页 图6.14lMicrosoft SQL Server 2005 JDBC 驱动程序下载http:/ l存放在WEB_INF/lib/sqljdbc.jarl加载SQLServer驱动程序代码
9、如下: Class.forName(com.microsoft.sqlserver. jdbc .SQLServerDriver); 8/14/2022中国网页设计:中国网页设计:http:/17连接数据库连接数据库l3000); 8/14/2022中国网页设计:中国网页设计:http:/19lout.print();l out.print();l out.print(+雇员号);l out.print(+姓名);l out.print(+出生日期);l out.print(+薪水);l out.print();l 8/14/2022中国网页设计:中国网页设计:http:/20lwhile(r
10、s.next()l out.print();l out.print(+rs.getString(1)+); l out.print(+rs.getString(2)+);l out.print(+rs.getDate(birthday)+); l out.print(+rs.getFloat(salary)+);l out.print() ; l l 8/14/2022中国网页设计:中国网页设计:http:/21lout.print();l con.close();l l catch(SQLException e) l out.print(e);l l %8/14/2022中国网页设计:中国网
11、页设计:http:/22JSP制作登录页面制作登录页面l设计数据库employee,manager表,字段:user_id (主键,自增1,int类型),user_name, passwordl创建数据源:employee_dsnl制作登录页面login.jsp8/14/2022中国网页设计:中国网页设计:http:/23login.jspl l用户名:l密码: lll8/14/2022中国网页设计:中国网页设计:http:/24表单验证:表单验证:ll8/14/2022中国网页设计:中国网页设计:http:/26登录验证页面:登录验证页面:login_check.jspll 8/14/202
12、2中国网页设计:中国网页设计:http:/28login_check.jspllll8/14/2022中国网页设计:中国网页设计:http:/29后台管理页面:后台管理页面:admin.jspll8/14/2022中国网页设计:中国网页设计:http:/30验证用户是否登录验证用户是否登录check.jspll l8/14/2022中国网页设计:中国网页设计:http:/31后台管理页面:后台管理页面:admin.jspl% request.setCharacterEncoding(gb2312);lString username=request.getParameter(username);
13、l String condition;l if(username=null) username=; l if(username=) l condition=select * from employee_info; l else l/condition= select * from employee_info where employee_name=+username+;lcondition= select * from employee_info where employee_name like %+username+%;8/14/2022中国网页设计:中国网页设计:http:/32后台管理页
14、面:后台管理页面:admin.jsplConnection con;l Statement sql; l ResultSet rs;l try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);l l catch(ClassNotFoundException e)l out.print(e);l l 8/14/2022中国网页设计:中国网页设计:http:/33ltry con=DriverManager.getConnection(jdbc:odbc:employee_dsn,sa,2005);l sql=con.createStatement();lr
15、s=sql.executeQuery(condition); out.print();l out.print(); out.print(+雇员号);l out.print(+姓名);l out.print(+出生日期);l out.print(+薪水); out.print(编辑);l out.print(删除); out.print();8/14/2022中国网页设计:中国网页设计:http:/34lwhile(rs.next() out.print();lString id=rs.getString(1);l out.print(+rs.getString(1)+); l out.prin
16、t(+rs.getString(2)+);l out.print(+rs.getDate(birthday)+); l out.print(+rs.getInt(salary)+);lout.print(编辑);lout.print(删除);8/14/2022中国网页设计:中国网页设计:http:/35lout.print() ; l l out.print();l con.close();l l catch(SQLException e) l out.print(e);l l %8/14/2022中国网页设计:中国网页设计:http:/36员工信息添加页面员工信息添加页面 :add_empl
17、oyee.jsp8/14/2022中国网页设计:中国网页设计:http:/37员工信息添加处理页面:员工信息添加处理页面:add_ok.jspl 8/14/2022中国网页设计:中国网页设计:http:/40员工信息修改页面:员工信息修改页面:modify.jspl8/14/2022中国网页设计:中国网页设计:http:/42员工信息修改页面:员工信息修改页面:modify.jsplform name=form1 method=post action=modify_ok.jsp?id=l员工姓名: input name=name type=text value=l出生日期: input nam
18、e=birthday type=text value=l薪 水:input name=salary type=text id=salary value=l8/14/2022中国网页设计:中国网页设计:http:/43员工信息修改页面:员工信息修改页面:modify_ok.jspl 8/14/2022中国网页设计:中国网页设计:http:/46员工信息修改页面:员工信息修改页面:modify_ok.jspllalert(修改成功!);lwindow.location=modify.jsp?id=;ll 8/14/2022中国网页设计:中国网页设计:http:/47删除页面删除页面delete.jspll 8/14/2022中国网页设计:中国网页设计:http:/48llalert(删除成功!);lwindow.location=admin.jsp;l8/14/2022中国网页设计:中国网页设计:http:/49conn.jspll8/14/2022中国网页设计:中国网页设计:http:/50本章结束,谢谢大家!本章结束,谢谢大家!中国网页设计:http:/