《2022年实验十一数据库操作 2.pdf》由会员分享,可在线阅读,更多相关《2022年实验十一数据库操作 2.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验十一数据库操作1.实验目的1、掌握使用 JDBC访问数据的基本步骤2、掌握事务处理的基本步骤3、掌握操作 Excel 的基本步骤2.实验内容1、根据附录里的源代码,按照注释要求,完成代码填空,使程序能够运行得出结果。1)实验 1 抽取样本2)实验 2 用户转账3)实验 3 查询 Excel 电子表格2、设计编写程序完成以下任务。1)参照实验 1 编写一个数据库查询的程序, 可以在若干学生中随机抽取20 名学生,并计算这20 名学生的平均成绩。2)建立一个简单的图书数据库,并编写一个简单的图书查询程序。3.实验步骤略4.评分标准1.A内容功能完善,编程风格好,人机接口界面好;2.B内容功能完
2、善,编程风格良好,人机接口界面良好;3.C完成必做内容;4.D能完成必做内容;5.E未按时完成必做内容,或者抄袭(雷同者全部为E). 参照书上实验按模版要求,将【代码】替换为Java 程序代码,编写好完整的程序文档,最后运行得到的相关文件,把实验所得文件一起打包上交。(压缩包的文件名为:学号后三位和名字开头字母,如109zhhRAR|ZIP)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 附录:实验 1 抽取样本模板代码Rand
3、omGetRecord.java import java.sql.*; import java.util.*; import java.util.Date; public class RandomGetRecord public static void main(String args) int wantRecordAmount=10; Random random= new Random(); try /【代码 1】/加载 JDBC-ODBC 桥接器catch(ClassNotFoundException e) System.out.print(e); Connection con; Stat
4、ement sql; ResultSet rs; try String uri=jdbc:odbc:dataSource; String id=; String password=; con=DriverManager.getConnection(uri,id,password); sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY); rs=/【代码 2】/sql 调用 .executeQuery方法查询goods表中的全部记录rs.last(); int count=rs.ge
5、tRow(); Vector vector=new Vector(); for(int i=1;i0) int randomIndex=random.nextInt(vector.size(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - int index=(vector.elementAt(randomIndex).intValue(); /【代码 3】/将 rs 的游标移到index String number=rs.
6、getString(1); String name=rs.getString(2); Date date=rs.getDate(3); double price=rs.getDouble(4); sum=sum+price; itemAmount-; vector.removeElement(randomIndex); con.close(); double aver=sum/n; System.out.print( 均价 +aver+ 元); catch(SQLException e) System.out.print(+e); 实验 2 用户转账模板代码TurnMoney.java imp
7、ort java.sql.*; public class TurnMoney public static void main(String args) Connection con=null; Statement sql; ResultSet rs; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e) System.out.print(+e); trydouble n=100; con=DriverManager.getConnection(jdbc:odbc:tom,); /【代码
8、1】/关闭自动提交模式sql=con.createStatement(); rs=sql.executeQuery(select * from card1 where name=zhangsan); rs.next(); double amountOne=rs.getDouble(amount); System.out.println( 转帐操作之前zhangsan的钱款数额: +amountOne); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - -
9、- - - - - - rs=sql.executeQuery(select * from card2 where name=xidanShop); rs.next(); double amountTwo=rs.getDouble(amount); System.out.println( 转帐操作之前xidanShop 的钱款数额: +amountTwo); amountOne=amountOne-n; amountTwo=amountTwo+n; sql.executeUpdate(update card1 set amount= +amountOne+ where name=zhangsa
10、n); sql.executeUpdate(update card2 set amount= +amountTwo+ where name=xidanShop); mit(); /【代码 2】/恢复自动提交模式rs=sql.executeQuery(select * from card1 where name=zhangsan); rs.next(); amountOne=rs.getDouble(amount); System.out.println( 转帐操作之后zhangsan的钱款数额: +amountOne); rs=sql.executeQuery(select * from ca
11、rd2 where name=xidanShop); rs.next(); amountTwo=rs.getDouble(amount); System.out.println( 转帐操作之后xidanShop 的钱款数额: +amountTwo); con.close(); catch(SQLException e) try /【代码 3】/撤销事务所做的操作catch(SQLException exp) System.out.println(e.toString(); 实验 3 查询 Excel 电子表格模板代码QueyExcel.java import java.sql.*; publi
12、c class QueyExcel public static void main(String args) Connection con; Statement sql; ResultSet rs; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e) System.out.print(e); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - -
13、- - - - - try con=DriverManager.getConnection(jdbc:odbc:myExcel,); DatabaseMetaData metadata=con.getMetaData(); ResultSet rs1=metadata.getColumns(null,null,message,null); int fieldNum=0; while(rs1.next() fieldNum+; sql=con.createStatement(); rs=sql.executeQuery(select * from message); while(rs.next() for(int k=1;k=fieldNum;k+) System.out.print( +rs.getString(k)+ ); System.out.println(); con.close(); catch(SQLException e) System.out.print(+e); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -
限制150内