实验9数据库编程技术 一、实验目的 1了解数据库,以及不同救据库的风别 2.熟练用DBC-ODBC桥来访问数据库 ,能灵活使用各种$QL来进行数据库的操作。 3.掌握JSP与数据库的连接技术 一JDBC,掌握JSP数据库编程技术。 4.使用Java的JDBC技术,实现对数据库中表记录的查询、更新、修改和删除等操作 二、实验要求 1.上机调试运行课上所讲JSP页面。 2.掌握查询、更新、添加与刑除操作。 三、实验内容 (一)上课例子 ◆连接数据库,查询各科成绩,源代码如下。 <page contentType="text/html;charset=GB2312"8> <page import="java.sql.+"> <HTML> <BODY bgcolor-cyan><FONT Size-4> <Connection con Statement sql; Resultset rs: try{class.forName ("sun.idbc.odbc.JdbcOdbcDriver"); catch(classNotFoundException e)() try con=DriverManager.getconnection("jdbc:odbc:sun","sa","123456"); sal=con.createstatement () rs=sgl.executeouery("SELECT FROM student"): out.print("<Table Border>"); out.print("<TR>"); out.pr1nt("<TH width=100>"+"学号"): out.print("<TH width-100>"+"姓名"): out.print("<TH width-50>"+n数学成绩): out print("<TH width=-50>"+"英语成绩")
实验 9 数据库编程技术 一、实验目的 1. 了解数据库,以及不同数据库的区别。 2. 熟练用 JDBC-ODBC 桥来访问数据库 , 能灵活使用各种 SQL 来进行数据库的操作 。 3. 掌握 JSP 与数据库的连接技术——JDBC,掌握 JSP 数据库编程技术 。 4. 使用 Java 的 JDBC 技术,实现对数据库中表记录的查询、更新、修改和删除等操作 二、实验要求 1.上机调试运行课上所讲 JSP 页面。 2.掌握查询、更新、添加与删除操作。 三、实验内容 (一) 上课例子 连接数据库,查询各科成绩,源代码如下。 <%@ page contentType="text/html;charset=GB2312" %> <%@ page import="java.sql.*" %> <HTML> <BODY bgcolor=cyan><FONT Size=4> <% Connection con; Statement sql; ResultSet rs; try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(ClassNotFoundException e){} try { con=DriverManager.getConnection("jdbc:odbc:sun","sa","123456"); sql=con.createStatement(); rs=sql.executeQuery("SELECT * FROM student"); out.print("<Table Border>"); out.print("<TR>"); out.print("<TH width=100>"+"学号"); out.print("<TH width=100>"+"姓名"); out.print("<TH width=50>"+"数学成绩"); out.print("<TH width=50>"+"英语成绩");
out,print("<TH width-50>"+"物理成绩"): out.print ("</TR>"): while(rs.next() out.print(" R>") out.print ("<TD >"+rs.getstring(1)+"</TD>") out.print ("<TD >"+rs.getstring(2)+"</TD>"); out,print("<TD>"+r3,getInt("数学成绩")+n</TD>) out.print("<T >"+rs.getInt("英语成绩")+"</TD>") out.print ( TD>"+rs.getInt("物 ")+</TD> out.print ("</TR>"); out.print("</Table>"); con.close(); catch(SQLException el)(} </BODY> </HTML> ·编译并运行该程序,如有错误请改正。 (二)实现查询、更新、添加与删除操作 ·连接数据库,查询英语成绩大于80的学生,源代码如下 page contentType="text/html;charset=GB2312"> <e page import="java.sql.*"> <HTML> <BODY> Connection con Statement sql ResultSet rs; try( class.forName ("com.microsoft.jdbc.sqlserver.SQLServerDriver" catch(classNotFoundException e)() try con=DriverManager.getConnection("idbc:microsoft:salserver://local host:1433;DatabaseName-pubs","sa","123456"); sql-con.createstatement() rs-3ql.executeQuery("SELECT★FROM student WHERE英语成绩>-80 ) out.print("<Table Border>"); out.print ("<TR>"): out.print("<TH width-100>"+"学号");
out.print("<TH width=50>"+"物理成绩"); out.print("</TR>"); while(rs.next()) { out.print("<TR>"); out.print("<TD >"+rs.getString(1)+"</TD>"); out.print("<TD >"+rs.getString(2)+"</TD>"); out.print("<TD >"+rs.getInt("数学成绩")+"</TD>"); out.print("<TD >"+rs.getInt("英语成绩")+"</TD>"); out.print("<TD >"+rs.getInt("物理成绩")+"</TD>"); out.print("</TR>") ; } out.print("</Table>"); con.close(); } catch(SQLException e1) {} %> </BODY> </HTML> 编译并运行该程序,如有错误请改正。 (二)实现查询、更新、添加与删除操作 连接数据库,查询英语成绩大于 80 的学生,源代码如下。 <%@ page contentType="text/html;charset=GB2312" %> <%@ page import="java.sql.*" %> <HTML> <BODY> <% Connection con; Statement sql; ResultSet rs; try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver" ); } catch(ClassNotFoundException e){} try { con=DriverManager.getConnection("jdbc:microsoft:sqlserver://local host:1433;DatabaseName=pubs","sa","123456"); sql=con.createStatement(); rs=sql.executeQuery("SELECT * FROM student WHERE 英语成绩 >= 80 "); out.print("<Table Border>"); out.print("<TR>"); out.print("<TH width=100>"+"学号");
out,print("<TH width-l00>"+"姓名"): out.print(<width=50>4"英语成绩) out.print() while(rs.next () out print ("<TR>"): out.print ("<TD >"+rs.getstring(1)+"</TD>"): out.print ("<TD >"+rs.getstring(2)+"</TD>") out.print("<TD>"+rs.getInt("英语成绩")+"</TD>"): out.print("</TR>"); 1 out.print ("</Table>"): con.close(); catch( SQLException e1)(out.print(el); 1 </BODY> </HTML ◆编译并运行该程序。 ◆连接数据库,更新张三的英语成绩为88分,源代码如下。 "text/html;charset-GB2312"> import-"java.sql.> <HTML <BODY> Connection con: statement sal: Resultset rs; try( class.forName ("com.microsoft.jdbc.sqlserver.SQLServerDriver" catch(ClassNotFoundException e)() try l con-DriverManager.getConnection("jdbc:microsoft:sqlserver://local host:1433;DatabaseName=pubs","sa","123456"); sql=con.createstatement () rs=sql.executeQuery("UPDATE student SET英语成绩-88 WHERE name=- 张三"): out.print("<Table Border>"); out.print ("<TR>"); out.print("<TH width-100>"+"学号"): out,print("<TH width-100>"+"姓名");
out.print("<TH width=100>"+"姓名"); out.print("<TH width=50>"+"英语成绩"); out.print("</TR>"); while(rs.next()) { out.print("<TR>"); out.print("<TD >"+rs.getString(1)+"</TD>"); out.print("<TD >"+rs.getString(2)+"</TD>"); out.print("<TD >"+rs.getInt("英语成绩")+"</TD>"); out.print("</TR>") ; } out.print("</Table>"); con.close(); } catch( SQLException e1) {out.print(e1); } %> </BODY> </HTML> 编译并运行该程序。 连接数据库,更新张三的英语成绩为 88 分,源代码如下。 <%@ page contentType="text/html;charset=GB2312" %> <%@ page import="java.sql.*" %> <HTML> <BODY> <% Connection con; Statement sql; ResultSet rs; try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver" ); } catch(ClassNotFoundException e){} try { con=DriverManager.getConnection("jdbc:microsoft:sqlserver://local host:1433;DatabaseName=pubs","sa","123456"); sql=con.createStatement(); rs=sql.executeQuery("UPDATE student SET 英语成绩=88 WHERE name=’ 张三’"); out.print("<Table Border>"); out.print("<TR>"); out.print("<TH width=100>"+"学号"); out.print("<TH width=100>"+"姓名");
out,print("<TH width-50>"+"英语成绩"): out.print("</TR>"); while(s.nxt()) out.print ("<TR>") out.print ("<TD >"+rs.getstring (1)+"</TD>"); out.print("<TD >"+rs.getstring(2)+"</TD>"); D>"+rs.get Int("英语成绩")+"</TD>") out.print ("</Table>"); con.close(); catch SQLException el)(out.print(el); > </BODY> </HTML> 编译并运行该程序。 ·连接数据库,删除英语成绩大于80的学生,源代码如下。 <e page contentType="text/html;charset=GB2312"&> <8@page import-"java.sal.*"> KHTML> <BODY> connection con; Statement sql; Resultset rs; try{ class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver" catch(ClassNotFoundException e)) try{ con-DriverManager.getconnection("jdbc:microsoft:sqlsezver://1ocal host:1433;DatabaseName-pubs","sa","123456"); sql=con.createstatement ( rs-sql,executeQuery("DELETE·FROM student WHERE英语成绩>-B0 out.print ("<Table Border>") out.print ("<TR>") out,print("<TH width-100>"+"学号"): out,print("<TH width-l00>"+"姓名"): out.print("<TH width-50>"+"英语成绩"):
out.print("<TH width=50>"+"英语成绩"); out.print("</TR>"); while(rs.next()) { out.print("<TR>"); out.print("<TD >"+rs.getString(1)+"</TD>"); out.print("<TD >"+rs.getString(2)+"</TD>"); out.print("<TD >"+rs.getInt("英语成绩")+"</TD>"); out.print("</TR>") ; } out.print("</Table>"); con.close(); } catch( SQLException e1) {out.print(e1); } %> </BODY> </HTML> 编译并运行该程序。 连接数据库,删除英语成绩大于 80 的学生,源代码如下。 <%@ page contentType="text/html;charset=GB2312" %> <%@ page import="java.sql.*" %> <HTML> <BODY> <% Connection con; Statement sql; ResultSet rs; try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver" ); } catch(ClassNotFoundException e){} try { con=DriverManager.getConnection("jdbc:microsoft:sqlserver://local host:1433;DatabaseName=pubs","sa","123456"); sql=con.createStatement(); rs=sql.executeQuery("DELETE * FROM student WHERE 英语成绩 >= 80 "); out.print("<Table Border>"); out.print("<TR>"); out.print("<TH width=100>"+"学号"); out.print("<TH width=100>"+"姓名"); out.print("<TH width=50>"+"英语成绩");
out.print ("</TR>") while(rs.next()) out.print("<TR>"); out.print ("<TD >"+rs.getstring(1)+"</TD>"); out.print ("<TD >"+rs.getstring(2)+"</TD>"); out.print("<TD>"+r,getInt("英语成绩")+"</TD>") out.print("</TR>")i out.print ("</Table>"); con.close(); catch( SQLException el)(out.print(el); > </BODY> </HTML> ◆编译并运行该程序。 ·连接数据库,向student表中添加一条新的记录(009,90'),源代码如下。 <8@page contentType-"text/html;charset-GB2312"8> <8e page import="java.sal.*"> <HTML> BODY> <Connection con; statement sql; ResultSet rs; try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver" catch(classNotFoundException e)) try{ con=DriverManager.getConnection("idbc:microsoft:sglserver://local host:1433;DatabaseName-pubs","sa","123456") sql-con.createstatement() rs=ggl.executeQuery("INSERT INTO student(学号,姓名,英语成绩) VALUES('009,I,90)"): out.print("<Table Border>"); out.print ("<TR>"); out.print("<TH width-100>"+"学号") out.print("<TH width=100>"+"姓名"); out.print("<TH width-50>"+"英语成绩"): out.print("</TR>");
out.print("</TR>"); while(rs.next()) { out.print("<TR>"); out.print("<TD >"+rs.getString(1)+"</TD>"); out.print("<TD >"+rs.getString(2)+"</TD>"); out.print("<TD >"+rs.getInt("英语成绩")+"</TD>"); out.print("</TR>") ; } out.print("</Table>"); con.close(); } catch( SQLException e1) {out.print(e1); } %> </BODY> </HTML> 编译并运行该程序。 连接数据库,向 student 表中添加一条新的记录(’009’,’li’,’90’),源代码如下。 <%@ page contentType="text/html;charset=GB2312" %> <%@ page import="java.sql.*" %> <HTML> <BODY> <% Connection con; Statement sql; ResultSet rs; try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver" ); } catch(ClassNotFoundException e){} try { con=DriverManager.getConnection("jdbc:microsoft:sqlserver://local host:1433;DatabaseName=pubs","sa","123456"); sql=con.createStatement(); rs=sql.executeQuery("INSERT INTO student(学号,姓名,英语成绩) VALUES(’009’,’li’,’90’)"); out.print("<Table Border>"); out.print("<TR>"); out.print("<TH width=100>"+"学号"); out.print("<TH width=100>"+"姓名"); out.print("<TH width=50>"+"英语成绩"); out.print("</TR>");