当前位置:文档之家› JDBC编程实验报告

JDBC编程实验报告

《JA V A高级应用》课程实验实验二JDBC编程姓名:沈万琴学号:20095500班级:电子商务09-2班学校: 合肥工业大学2011年11月26日一、实验目的通过Java数据库访问程序的编写、调试,掌握JDBC编程的基本方法,熟悉并熟练运用常用的JDBC API,促加深对概念的理解,进一步加强动手能力。

二、实验内容(1)复习数据库SQL语句的编写。

(2)编写Java数据库(使用ODBC-JDBC驱动)公共模块。

(3)建立数据库应用模型,对数据库进行查询、更新、修改、删除操作。

(4)调试程序,实现数据库的访问。

三、实验代码程序结果①实现对数据库的查询代码如下import java.awt.*;import java.sql.*;class aa{public static void main(String[] args){String url="jdbc:odbc:bobo"; //打开通过JDBC-ODBC桥来访问bobo数据库String a="SELECT * FROM students";//设定查询字符串try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载驱动程序}catch(Exception e)//捕获加载驱动程序可能出现异常{System.out.print("连接数据库出错!");}//输出数据库中信息try{Connection b=DriverManager.getConnection(url);//建立连接Statement c=b.createStatement();ResultSet r=c.executeQuery(a);//执行查询System.out.println("数据库连接成功,表中内容为:\n");System.out.println("学号"+" "+"姓名"+" "+"课程"+" "+"学分"+" "+"分数");while(r.next())//循环输出数据库中students表中的数据{Long i1=r.getLong("学号");String i2=r.getString("姓名");String i3=r.getString("课程");Double i4=r.getDouble("学分");int i5=r.getInt("分数");System.out.println(i1+" "+i2+" "+i3+" "+i4+" "+i5);}//关闭所有打开的资源r.close();c.close();b.close();}catch(SQLException e){ System.out.print("连接数据库出错,错误原因可能有:\n");e.printStackTrace();}}}运行程序,输出数据库中数据,运行结果如下图:②在students表中修改一条记录代码如下import java.awt.*;import java.sql.*;class aa{public static void main(String[] args){String url="jdbc:odbc:bobo";//打开通过JDBC-ODBC桥来访问bobo数据库String a="SELECT * FROM students1";//设定查询字符串try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载驱动程序}catch(Exception e)//捕获加载驱动程序可能出现异常{System.out.print("连接数据库出错!");}//修改一条记录try{Connection b =DriverManager.getConnection(url);tatement c =b.createStatement( );c.executeUpdate("UPDA TE studengts1 SET 课程=物理,学分=4 WHERE 学号=01");ResultSet r=c.executeQuery(a);System.out.println("数据库连接成功,表中内容为:\n");System.out.println("学号:"+" "+"姓名"+" "+"课程"+" "+"学分"+" "+"分数");while(r.next()){Long i1=r.getLong("学号");String i2=r.getString("姓名");String i3=r.getString("课程");Double i4=r.getDouble("学分");int i5=r.getInt("分数");System.out.println(i1+" "+i2+" "+i3+" "+i4+" "+i5);}r.close();c.close();b.close();}catch(SQLException e){e.printStackTrace();}}}运行程序,输出数据库中进行修改后的数据,运行结果如下图:③在students表中删除一条记录代码如下:import java.awt.*;import java.sql.*;class aa{public static void main(String[] args){String url="jdbc:odbc:bobo";//打开通过JDBC-ODBC桥来访问bobo数据库String a="SELECT * FROM students1";//设定查询字符串try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载驱动程序}catch(Exception e)//捕获加载驱动程序可能出现异常{System.out.print("连接数据库出错!");}//删除一条记录try{Connection b =DriverManager.getConnection(url);Statement c =b.createStatement( );c.executeUpdate("DELETE FROM students1 WHERE 学号=02");ResultSet r=c.executeQuery(a);while(r.next()){Long i1=r.getLong("学号");String i2=r.getString("姓名");String i3=r.getString("课程");Double i4=r.getDouble("学分");int i5=r.getInt("分数");System.out.println(i1+" "+i2+" "+i3+" "+i4+" "+i5);}r.close();c.close();b.close();}catch(SQLException e){e.printStackTrace();}}}运行程序,输出数据库中进行删除操作后数据,运行结果如下图:④在students表中插入一条记录代码如下:import java.awt.*;import java.sql.*;class aa{public static void main(String[] args){String url="jdbc:odbc:bobo";//打开通过JDBC-ODBC桥来访问bobo数据库String a="SELECT * FROM students1";//设定查询字符串try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载驱动程序}catch(Exception e)//捕获加载驱动程序可能出现异常{System.out.print("连接数据库出错!");}//添加一条记录try{Connection b =DriverManager.getConnection(url);Statement c =b.createStatement( );c.executeUpdate("INSERT INTO book1(学号,姓名,课程,学分,分数) V ALUES(06,'陈博','思修',2,85)");ResultSet r=c.executeQuery(a);System.out.println("学号:"+" "+"姓名"+" "+"课程"+" "+"学分"+" "+"分数");while(r.next()){Long i1=r.getLong("学号");String i2=r.getString("姓名");String i3=r.getString("课程");Double i4=r.getDouble("学分");int i5=r.getInt("分数");System.out.println(i1+" "+i2+" "+i3+" "+i4+" "+i5);}r.close();c.close();b.close();}catch(SQLException e){e.printStackTrace();}}}运行程序,输出数据库进行插入后的数据,运行结果如下图:四、验过程中遇到的问题及解决方法①程序开始之前不知道如何建立ODBC数据源,在这一环浪费了很多时间,后来知要在Windows系统控制面板中,选择“数据源(ODBC)”,在系统DSN中,选择“添加”,然后,建立一个名为bobo的数据源,并且设置数据源为需要使用的SQL Server ,即这里假设为本地SQL Server 数据源,如果数据源不在本地,则要修改。

相关主题