JDBC编程实验报告
jdbc编程实验报告
jdbc编程实验报告JDBC编程实验报告一、实验目的本次实验的目的是通过JDBC编程实现Java程序与数据库的交互,掌握JDBC编程的基本方法和技巧。
二、实验环境本次实验使用的开发环境为Eclipse,数据库为MySQL。
三、实验步骤1. 导入JDBC驱动在Eclipse中创建Java项目后,需要将MySQL的JDBC驱动导入到项目中。
具体步骤为:右键项目 -> Build Path -> Configure Build Path -> Libraries -> Add External JARs -> 选择MySQL的JDBC 驱动文件。
2. 连接数据库在Java程序中使用JDBC连接数据库需要使用以下代码:```javaClass.forName("com.mysql.jdbc.Driver");Connection conn =DriverManager.getConnection("jdbc:mysql://localhost:3306/test ", "root", "123456");```其中,`com.mysql.jdbc.Driver`为MySQL的JDBC驱动类名,`jdbc:mysql://localhost:3306/test`为数据库连接地址,`root`为数据库用户名,`123456`为数据库密码。
3. 执行SQL语句在Java程序中使用JDBC执行SQL语句需要使用以下代码:```javaStatement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery("SELECT * FROM user"); while (rs.next()) {System.out.println(rs.getString("name"));}```其中,`conn.createStatement()`用于创建Statement对象,`stmt.executeQuery("SELECT * FROM user")`用于执行SQL查询语句,`rs.next()`用于遍历查询结果集,`rs.getString("name")`用于获取查询结果中名为name的字段的值。
实验九:JDBC编程
实验九JDBC编程一、实验目的1)掌握JDBC的概念与使用场景2)掌握JDBC的工作原理3)掌握使用JDBC操作数据库的基本步骤4)掌握JDBC中几个常用接口和类5)掌握带数据库操作的应用程序开发步骤二、实验环境JDK1.6+Eclpise3.2三、实验准备1)复习课件中理论知识2)练习课堂所讲的例子四、实验内容1)安装MySQL数据库2)在MySQL中创建数据库webdb,并创建表news3)实现对news表的增删改查五、实验过程及结果插入数据调试如图:查询数据调试如图:删除数据调试如图:修改数据调试如图:六、实验感想本次实验,我了解了JDBC的概念与使用场景,理解了JDBC的工作原理,掌握了使用JDBC操作数据库的基本步骤,掌握了JDBC中几个常用接口和类,了解了带数据库操作的应用程序开发步骤等。
七、附录插入数据代码:package zsl;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class InsertNews {public static void main(String[] args)throwsClassNotFoundException,SQLException {Class.forName("com.mysql.jdbc.Driver");Connection cn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/webdb?user=root&password=1");Statement stmt=cn.createStatement();int flag=stmt.executeUpdate("insert into news(title,author,hit)values('我院荣获全国独立学院','管理员','888')");if (flag>0){System.out.println("添加成功");}else{System.out.println("添加失败");}stmt.close();cn.close();}}查询数据代码:package zsl;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class SelectNews {public static void main(String[] args)throwsClassNotFoundException,SQLException {Class.forName("com.mysql.jdbc.Driver");Connection cn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/webdb?user=root&password=1");Statement stmt=cn.createStatement();ResultSet rs=stmt.executeQuery("select*from news");while (rs.next()){System.out.println("newsid-->+rs.getInt(1)");System.out.println("title-->+rs.getInt(2)");System.out.println("author-->+rs.getInt(3)");System.out.println("hit-->+rs.getInt(4)");}rs.close();stmt.close();cn.close();}}删除数据代码:package zsl;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class DeletNews {public static void main(String[] args)throws SQLException, ClassNotFoundException{Class.forName("com.mysql.jdbc.Driver");Connection cn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/webdb?user=root&password=1");Statement stmt=cn.createStatement();int flag=stmt.executeUpdate(" delete from news where author='管理员'");if (flag>0){System.out.println("删除成功");}else{System.out.println("删除失败");}stmt.close();cn.close();}}修改数据代码:package zsl;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class UpdateNews {public static void main(String[] args)throwsClassNotFoundException,SQLException {Class.forName("com.mysql.jdbc.Driver");Connection cn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/webdb?user=root&password=1");Statement stmt=cn.createStatement();int flag=stmt.executeUpdate("update news set title='我院荣获河南发展最快独立学院',hit=666 where author='管理员'");if (flag>0){System.out.println("修改成功");}else{System.out.println("修改失败");}stmt.close();cn.close();}}。
网络工程网络编程实验报告5-JDBC连接
《网络编程》实验报告实验序号:05 实验项目名称:JDBC连接学号姓名专业、班20网络工程实验地点指导教师实验时间2022一、实验目的及要求1、利用JDBC实现对Acess数据库文件的操作2、利用JDBC实现对MySQL数据库文件的操作二、实验设备(环境)及要求一台Windows XP、JDK1.6、MyEclipse 8.5三、实验内容与步骤1、建立ODBC数据源:建立T_STUDENT表;2、添加数据、删除数据:PreparedStatement,CallableStatement四、实验结果与数据处理Access数据库使用连接池访问数据库1.添加数据:结果:2.删除数据:结果:MySQL数据库1、添加数据:<%@ page language="java" import="java.sql.*" pageEncoding="utf-8"%><html><body><%Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection conn = DriverManager.getConnection("jdbc:odbc:DSSchool");Statement stat = conn.createStatement();String sql = "INSERT INTO T_STUDENT(STUNO,STUNAME,STUSEX)VALUES('0032','fengjiang','man')";int i = stat.executeUpdate(sql);out.println("成功添加" + i + "行");stat.close();conn.close();%></body></html>2、删除数据:<%@ page language="java" import="java.sql.*" pageEncoding="utf-8"%><html><body><%Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection conn = DriverManager.getConnection("jdbc:odbc:DSSchool");Statement stat = conn.createStatement();String sql = "DELETE FROM T_STUDENT WHERE STUNO='0032'";int i = stat.executeUpdate(sql);out.println("成功删除" + i + "行");stat.close();conn.close();%></body></html>结果:3、修改数据:<%@ page language="java" import="java.sql.*" pageEncoding="utf-8"%><html><body><%Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection conn = DriverManager.getConnection("jdbc:odbc:DSSchool");Statement stat = conn.createStatement();String sql = "UPDATE T_STUDENT SET STUSEX='女' WHERE STUNO='0007'";int i = stat.executeUpdate(sql);out.println("成功修改" + i + "行");stat.close();conn.close();%></body></html>结果:4、查询数据:<%@ page language="java" import="java.sql.*" pageEncoding="utf-8"%><html><body><%Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection conn = DriverManager.getConnection("jdbc:odbc:DSSchool");Statement stat = conn.createStatement();String sql = "SELECT STUNO,STUNAME FROM T_STUDENT WHERE STUSEX='女'";ResultSet rs = stat.executeQuery(sql);while(rs.next()){String stuno = rs.getString("STUNO");String stuname = rs.getString("STUNAME");out.println(stuno + " " + stuname + "<BR>");}stat.close();conn.close();%></body></html>结果:附源程序清单:添加数据:<%@ page language="java"import="java.sql.*"pageEncoding="utf-8"%> <html><body><%Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection conn =DriverManager.getConnection("jdbc:odbc:DSSchool");Statement stat = conn.createStatement();String sql = "INSERT INTO T_STUDENT(STUNO,STUNAME,STUSEX) VALUES('0032','fengjiang','man')";int i = stat.executeUpdate(sql);out.println("成功添加" + i + "行");stat.close();conn.close();%></body></html>删除数据:<%@ page language="java"import="java.sql.*"pageEncoding="utf-8"%> <html><body><%Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection conn =DriverManager.getConnection("jdbc:odbc:DSSchool");Statement stat = conn.createStatement();String sql = "DELETE FROM T_STUDENT WHERE STUNO='0032'";int i = stat.executeUpdate(sql);out.println("成功删除" + i + "行");conn.close();%></body></html>修改数据:<%@ page language="java"import="java.sql.*"pageEncoding="utf-8"%> <html><body><%Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection conn =DriverManager.getConnection("jdbc:odbc:DSSchool");Statement stat = conn.createStatement();String sql = "UPDATE T_STUDENT SET STUSEX='女' WHERE STUNO='0007'";int i = stat.executeUpdate(sql);out.println("成功修改" + i + "行");stat.close();conn.close();%></body></html>查询数据<%@ page language="java"import="java.sql.*"pageEncoding="utf-8"%> <html><body><%Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection conn =DriverManager.getConnection("jdbc:odbc:DSSchool");Statement stat = conn.createStatement();String sql = "SELECT STUNO,STUNAME FROM T_STUDENT WHERE STUSEX='女'";ResultSet rs = stat.executeQuery(sql);while(rs.next()){String stuno = rs.getString("STUNO");String stuname = rs.getString("STUNAME");out.println(stuno + " " + stuname + "<BR>");}conn.close(); %></body></html>。
jdbc编程实验报告
jdbc编程实验报告JDBC编程实验报告JDBC(Java Database Connectivity)是Java语言中用于访问数据库的API。
它提供了一种标准的方法来连接和操作各种类型的数据库,包括关系型数据库和非关系型数据库。
在本次实验中,我们将使用JDBC编程来连接MySQL数据库,并进行一些基本的操作。
实验环境:- 操作系统:Windows 10- 开发工具:Eclipse- 数据库:MySQL 8.0.23实验步骤:1. 下载并安装MySQL数据库,并创建一个名为“test”的数据库。
2. 在Eclipse中创建一个Java项目,并添加MySQL的JDBC驱动jar包。
3. 编写Java代码,连接MySQL数据库,并进行一些基本的操作,如插入、查询、更新和删除数据。
下面是一个简单的示例代码:```javaimport java.sql.*;public class JdbcDemo {public static void main(String[] args) {Connection conn = null;Statement stmt = null;ResultSet rs = null;try {// 加载MySQL的JDBC驱动Class.forName("com.mysql.cj.jdbc.Driver");// 连接MySQL数据库conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?ser verTimezone=UTC", "root", "123456");// 创建Statement对象stmt = conn.createStatement();// 插入数据String sql = "INSERT INTO student (name, age, gender) VALUES ('Tom', 18, 'male')";stmt.executeUpdate(sql);// 查询数据sql = "SELECT * FROM student";rs = stmt.executeQuery(sql);while (rs.next()) {System.out.println(rs.getInt("id") + "\t" + rs.getString("name") + "\t" + rs.getInt("age") + "\t" + rs.getString("gender"));}// 更新数据sql = "UPDATE student SET age = 19 WHERE name = 'Tom'"; stmt.executeUpdate(sql);// 删除数据sql = "DELETE FROM student WHERE name = 'Tom'";stmt.executeUpdate(sql);} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();} finally {try {if (rs != null) rs.close();if (stmt != null) stmt.close();if (conn != null) conn.close();} catch (SQLException e) {e.printStackTrace();}}}```在上面的代码中,我们首先加载MySQL的JDBC驱动,然后使用DriverManager.getConnection()方法连接MySQL数据库。
JDBC实验报告
实验报告
学院计算机学院班级学号姓名
课程名称Java程序设计实验日期
实验名称数据库应用开发成绩
实验目的:深入理解JDBC数据库驱动程序的概念,掌握JDBC提供的访问数据库相关接口和类的应用,掌握使用JDBC的Java数据库应用程序开发的基本步骤和方法。
实验条件:使用JDK和Eclipse
实验目的
本实验要求学生使用JDBC提供的接口和类编写一个Java应用程序,实现对学生数据信息的查询、删除、插入、更新等操作。
学生数据库(student)在MySQL数据库服务器中创建。
1. 在MySQL中创建学生数据库student,其中一个学生信息表stuinfo结构如下:
图1 stuinfo表结构
2. 设计一个Java程序,界面如图2所示,实现以下功能:
(1)点击“全部检索”按钮,检索stuinfo表的所有记录,显示在上面的JTable组件中;
(2)输入查询学号,点击“查询”按钮,查询该学生信息显示在左边面板中,查询不到时弹出信息提示。
(3)左边面板中输入学生信息,点击“添加”按钮,将此学生信息插入stuinfo表中,弹出插入是否成功的提示框。
(4)点击“删除”按钮,依据上边学号值删除该学生记录,弹出删除是否成功的提示框。
(5)点击“更新”按钮,依据上边学号值更新该学生的其它信息,弹出更新是否成功的提示框。
实验结果
实验总结
每次对学生进行增删改查后,表要实时变化。
我在界面的代码中写了一个refresh函数,每当有有数据变化,它都会将当前表所在的JScrollPane移除,之后TableModel再从数据库中读取数据,重新建立一个表格,再将其添加到新建的JScrollPane中,放到界面中去。
jdbc实训报告总结
jdbc实训报告总结实训报告:JDBC(Java Database Connectivity)一、实训目标本次JDBC实训的目标是掌握Java语言如何通过JDBC API与关系型数据库进行交互,包括数据库的连接、查询、更新和断开连接等操作。
二、实训内容1. 了解JDBC的基本概念和用途。
2. 掌握JDBC驱动的安装与配置。
3. 掌握使用JDBC API进行数据库连接、查询、更新和断开连接的步骤。
4. 了解事务处理和批处理的概念及实现方法。
5. 掌握使用PreparedStatement和CallableStatement执行参数化查询和存储过程。
6. 了解JDBC的异常处理机制。
7. 掌握使用连接池管理数据库连接。
三、实训过程1. 在实验环境中安装和配置JDBC驱动。
2. 编写Java程序,实现数据库的连接、查询、更新和断开连接等操作。
3. 编写Java程序,实现事务处理和批处理。
4. 编写Java程序,使用PreparedStatement和CallableStatement执行参数化查询和存储过程。
5. 编写Java程序,实现异常处理。
6. 编写Java程序,使用连接池管理数据库连接。
四、实训总结通过本次实训,我深入了解了JDBC API的使用方法,掌握了Java语言与关系型数据库的交互方式。
在实训过程中,我学会了如何安装和配置JDBC驱动,如何使用JDBC API进行数据库连接、查询、更新和断开连接等操作,以及如何使用PreparedStatement和CallableStatement执行参数化查询和存储过程。
此外,我还了解了事务处理和批处理的概念及实现方法,以及JDBC的异常处理机制和连接池的使用方法。
这些知识和技能将对我今后的学习和工作产生积极的影响。
JDBC实验报告详细
JDBC实验报告详细实验二JDBC编程一、目的通过Java数据库访问程序的编写、调试,使学生掌握JDBC编程的基本方法,熟悉常用的JDBC API,促进学生对概念的理解,培养动手能力。
二、基本要求学生需要按时达到指定实验室上机。
调试教学中使用的程序示例,并加以修改,增加程序的功能;实现数据库访问的优化。
完成实验后,需要按时提交实验报告。
三、实验内容(1)复习数据库SQL语句的编写。
(2)编写Java数据库(使用ODBC-JDBC驱动)公共模块。
(3)建立数据库应用模型,对数据库进行操作。
(4)调试程序,实现数据库的访问。
3.1数据源的确定可能是我不知道怎么配置,我的电脑是Windows7系统,和学校WindowsXP 系统的电脑配置方法不太一样,需要在C:\Windows\System32路径中,找到odbcad32.exe才能顺利修改数据源。
数据源设置好了以后就可以编辑代码并正常运行了。
下面以一张截图展示我的数据库3.2数据库信息查询.一import java.sql.*; /*此处提供了SQL包,就可以放心使用SQL语句了*/ public class Students{public static void main(String args[]){ //look out this "S" of "string" !String driver="";/*这里定义了driver做驱动器使用,为了美观事先定义,其实放在Class.forName 的括号里也是完全正确的*/String url="jdbc:odbc:students";/*此处指定了数据库,要注意两者名字一定要一样,否则找不到数据源*/String query="select name,num,course,score from students"; //focus on the SQL language :select...from... ! /*需要执行的SQL语句*/Connection con=null; /*链接的定义*/Statement s=null; /*Statement对象的定义,两者赋值null 是为了在try块出现异常的时候不会被判断为逻辑错误,认为变量没有赋值*/ try{ /*第一个try块实现了驱动器的启动*/Class.forName(driver); //look out this "class" should write in Huge one!/*注意此处的Class需要大写!*/}catch(ClassNotFoundException e){"ClassNotFoundException:"+e.getMessage());}try{ /*第二个try块实现查询功能*/con=DriverManager.getConnection(url);/*刚刚定义的url在这里用上,此时程序才真正与数据库相连*/s=con.createStatement(); /*新建一个Statement*/ResultSet r=s.executeQuery(query); /*query在这里用上,执行SQL语句,也就是按照我们的要求实现我们想完成的功能*/ "name:" + " num:" + " course:" + " score:");while(r.next()){ /*逐行查询,只要有值就执行while里的语句*/ /*注意以下的每一项name,num等都要与数据库中的题目想吻合*/ String r1=r.getString("name");String r2=r.getString("num");String r3=r.getString("course");String r4=r.getString("score");/*注意这些名字一定要与数据库中的名字吻合!当然也可以用数字代替,但是我的数据库第一列是ID,所以要注意name是2,num 是3,以此类推*/r2+ r3+ r4);}}。
实验五JDBC编程
实验五JDBC编程一、实验目的掌握JDBC的常用方法,能够通过JDBC存储、查询、更改MS SQL、Server 2000或MySql数据库二、实验内容参考附录和网络课程中的JDBC实例程序,选择数据库新建一个表,新建Web程序可以访问、插入、更新这个表三、实验源码login.jsp<html><head><meta http-equiv="Content-Type" content="text/html; charset= UTF-8"><title>欢迎登录</title></head><body>请输入用户名和密码:<!-- 登录表单,该表单提交到一个Servlet --><form id="login" method="post" action="serlvet/LoginServlet">用户名:<input type="text" name="username" width="50" /><br><br>密   码:<input type="password" name="pass" width="50" /><br><br><input type="submit" value="登录" /><br></form></body></html>连接数据库并处理请求参数的Servlet:LoginServlet.javapackage servlet;import java.io.IOException;import java.io.PrintWriter;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class LoginServlet extends HttpServlet {private static final long serialVersionUID = 1L;public LoginServlet() {// TODO Auto-generated constructor stub}protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stubdoPost(request, response);}protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stubServletConfig config = this.getServletConfig();request.setCharacterEncoding("utf-8"); // 处理中文输入乱码String username = request.getParameter("username");String password = request.getParameter("pass");response.setContentType("text/html;charset=utf-8"); // 处理中文输出乱码// String encoding=config.getInitParameter("encoding");// response.setContentType("text/html;charSet="+encoding);boolean isLogin = false;isLogin = checkAuthority(username, password);if (isLogin) {PrintWriter out = response.getWriter();out.println("<html><head><title>登录结果</title></head>");out.println("<body>您输入的用户名是:" + username + "<br>");out.println("<br>");out.println("您输入的密码是:" + password + "<br>");out.println("<br>");out.println("用户名和密码正确</body></html>");out.close();} else {PrintWriter out = response.getWriter();out.println("<html><head><title>登录结果</title></head>");out.println("<body>");out.println("您输入的用户名或密码错误</body></html>");out.close();}}public boolean checkAuthority(String username, String pwd) {Connection conn = null;String sql;String url = "jdbc:mysql://localhost:3306/testdb?"+"user=root&password=123456&useUnicode=true&characterEncoding=UTF-8";try {Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动System.out.println("成功加载MySQL驱动程序");conn = DriverManager.getConnection(url);sql = "select * from user where name=? and pwd=?";PreparedStatement stmt = conn.prepareStatement(sql);stmt.setString(1, username);stmt.setString(2, pwd);ResultSet rs = stmt.executeQuery();if (rs.next()) {System.out.println(rs.getString(1) + "\t" + rs.getString(2)); return true;} else {return false;}} catch (SQLException e) {System.out.println("MySQL操作错误");e.printStackTrace();} catch (Exception e) {e.printStackTrace();} finally {try {conn.close();} catch (SQLException e) {e.printStackTrace();}}return false;}}输入正确的用户名密码结果输入错误的用户名密码结果。
java实验报告——JDBC与网络编程
2
实验报告
实验解答: 1) 写出数据库名称,及其中的表名称,画出各表的结构,要求给出字段名、类型和 大小。 数据库名称:stu 表:dangan、course、grade dangan: 列名 数据类型 允许 Null 值 num text □ name nchar(10) □ sex nchar(10) □ grade int □ professional nchar(10) □ face nchar(10) □ course: 列名 数据类型 允许 Null 值 cnum text □ cname nchar(10) □ time int □ credit int □ nature nchar(10) □ term int □ grade: 列名 数据类型 允许 Null 值 num text □ cnum text □ chengji float □ 2)设计中使用了几个类,各自的功能是什么?画出各类之间的 UML 图。
实验报告
1)建立的数据库应该包含三张表、档案表、课程表和成绩表,各表中的字段自行定义。 2)数据录入应针对三张表各自设计一个界面进行数据的录入,并提供必要的按钮进行保存、重置和 退出录入等。 3)数据修改应针对三张表中已经录入的数据进行部分或全部进行修改,可以按指定的某学生或课程 进行学生档案或成绩或课程信息修改 4)查询:应提花多种选择,对多表进行查询,如查看学生成绩信息,可以考虑输出的内容为:学号、 姓名、课程名称、成绩。 5)统计:尽可能地提供各种统计功能。 6)显示功能中,尽可能使用表格组件或 Jlist 组件或其他组件展现出要显示的内容 以上内容大家可发挥自己的设计理念,尽量做到简便易用、界面美观等。 要求:1)数据库必须使用 SQL 或 oracle; 2)集中指导 4 学时;课后学时 20 学时。
实验十二 JDBC 数据库编程(I)
§12 JDBC 数据库编程基本知识§12.1实验目的、内容及性质理解和掌握JDBC 的结构以及JDBC 与数据库应用编成之间的关系,掌握DriverManage 、Connection 、Ststement 等数据库类的常用方法。
实验性质:综合、必做实验学时:4学时§2.8.2问题及思考1、什么是ODBC数据源,如何定义数据源?2、什么是JDBC-ODBC桥3、读写数据库基本步骤总结4、什么是结果集,如何从结果集中读数据5、几个不同的Statement命令对象的使用总结§2.8.3实验指导一、JDBC数据库编程基本步骤1、利用ODBC-JDBC桥读取Access数据库实现Java读取Access数据库。
首先设置ODBC,在“控制面板”的“管理工具”中找到“数据源(ODBC)”,在出现的“ODBC数据源管理器”窗口中选择“系统DSN”(必须是系统DSN)。
单击“添加”按钮,在“创建新数据源”对话框中选择“Microsoft Access Driver”,如图7-19所示。
设置系统DSN选择Access驱动程序单击“完成”按钮,在数据源名称中输入“grade”,单击“选择”按钮,找到建立好的“person. mdb”文件(确保文件不是只读的),如图7-20所示。
建立数据数据源建立完毕。
读取的程序。
Connection conn = null;Statement stmt = null;ResultSet rs = null;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException ce){out.println(ce.getMessage());}try{conn=DriverManager.getConnection("jdbc:odbc:grade","","");stmt=conn.createStatement();rs=stmt.executeQuery("SELECT * FROM grade");while(rs.next()){System.out.print(rs.getString("学号"));System.out.print(rs.getString("姓名"));System.out.print(rs.getString("语文"));System.out.print(rs.getString("数学"));System.out.print(rs.getString("英语"));System.out.println();}}catch(SQLException e){System.out.println(e.getMessage());}finally{stmt.close();conn.close();}2、数据库访问层,单独写成一个类或几个类(访问数据库代码) (1) 、表语句示例:create table users(uname varchar(10) primary key,upwd varchar(10));insert into users values('admin','1234');insert into users values('zhou','zhou');(2)、数据库访问层:package dao;import java.sql.*;public class CustomerDao {private String url="jdbc:mysql://127.0.0.1:3306/support";private String driver="com.mysql.jdbc.Driver";/*验证用户名与密码函数*/public boolean validate(String uname,String upwd){boolean flag=false;try{Class.forName(driver);Connection con=DriverManager.getConnection(url,"root","4846");Statement cmd=con.createStatement();String sql="select * from users";// where uname='"+uname+"'";ResultSet rs=cmd.executeQuery(sql);if(rs.next())if(rs.getString(1).equals(upwd))flag=true;con.close();}catch(Exception ex){flag=false;}return flag;}}(3)、用户界面(UI层)调用package ui;import dao.CustomerDao;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MyFrm extends JFrame implements ActionListener{//从JFrame继承/*声明界面需要使用的控件*/JLabel lbl_name =new JLabel("用户名");JLabel lbl_pwd =new JLabel("密码");JTextField txt_name=new JTextField();JPasswordField txt_pwd=new JPasswordField();JButton btn_OK=new JButton("登陆");JButton btn_Cancel=new JButton("取消");CustomerDao dao=new CustomerDao();/*在构造函数中将控件放置在JFrame上*/public MyFrm(){/*获取当前Frame的内容面板*/JPanel jp=(JPanel)this.getContentPane();/*设置内容面板的布局Layout*/jp.setLayout(new GridLayout(3,2));jp.add(lbl_name);jp.add(txt_name);jp.add(lbl_pwd);jp.add(txt_pwd);jp.add(btn_OK);jp.add(btn_Cancel);btn_OK.addActionListener(this);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public static void main(String arg[]){/*纯Java样式显示窗体*/JFrame.setDefaultLookAndFeelDecorated(true);/*实例化当前窗体类*/MyFrm frm=new MyFrm();frm.setSize(200,200);frm.setVisible(true);}public void actionPerformed(ActionEvent e) {if(e.getSource()==btn_OK){String uname=txt_name.getText().trim();String upwd=txt_pwd.getText().trim();/*调用数据库访问层函数,进行用户验证*/boolean flag=dao.validate(uname, upwd);if(flag){JOptionPane.showMessageDialog(this, "用户验证通过");}else{JOptionPane.showMessageDialog(this, "用户名或密码输入错误");}}}}§12.4实践编程1、将讲义中的代码调试通过2、实现一个图书管理系统登录界面,请自行设计数据中的表,参考前面的实例按确定键,根据用户输入的数据到数据库中验证用户名和密码是否正确,正确则弹出主界面如下,错误则弹出消息框。
实验五 JDBC编程
实验五JDBC编程一、实验目的1、掌握JDBC数据库编程的一般流程2、掌握数据库的增删改查方法3、能够熟练的使用JDBC技术开发简单的管理信息系统(MIS);二、实验内容与要求完成本实验时,注意以下几个问题:1、数据库操作基本步骤是:①加载数据库驱动程序:Class.forName("驱动类名");②创建数据库连接对象:Connection conn = DriverManager.getConnection(url, uid, pwd);③创建SQL命令执行对象Statement stmt = conn.createStatement();④执行sql语句(Execute the SQL),分为查询和更新两种操作:查询操作,执行SQL的SELECT命令,返回查询结果记录集对象:ResultSet rs = stmt.executeQuery(sql);更新操作,执行DELETE、UPDA TE、INSERT等SQL命令:stmt.executeUpdate(sql);2、对查询命令所返回的记录集对象,使用rs.next()等方法移动记录指针,并使用rs.getXXX(字段)方法读取记录字段内容。
3、数据库连接、SQL命令记录读取、记录字段的提取均需要进行异常处理。
编程题创建数据库db,并建立一个student数据表,表结构如图所示。
设计一个或者多个类,通过面向对象的方法实现对数据库的连接以及对数据表student记录的增删改查。
即实现学生课程成绩的增加、删除、修改和查询。
主要程序代码提示:a) 导入数据源访问和处理的API包:import java.sql.*;b)Access数据库连接字:"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=" + 数据库文件路径及文件名;c) 建立数据库连接:Connection conn = null; //conn和stmt为成员变量Statement stmt = null;void conn() //方法功能:完成数据库连接{ String dburl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ= C:\\db1.mdb";try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载数据库驱动程序}catch(ClassNotFoundException e){ System.out.println("加载数据库驱动程序错误!");}try{ conn = DriverManager.getConnection(dburl, "", ""); //创建数据库连接对象stmt = conn.createStatement(); //创建SQL命令执行对象}catch(SQLException e){ System.out.println("创建数据库连接错误!");}}d)实现数据库查询:void selectAll() //方法功能:数据表查询{ ResultSet rs; //记录集对象String str = "SELECT * FROM student"; //SQL命令try{ rs = stmt.executeQuery(str); //执行SQL命令返回一个记录集System.out.println("ID\t姓名\t班级\t课程\t成绩");while (rs.next()) // 读取每一条记录{System.out.print(rs.getLong("id") + "\t");System.out.print(rs.getString("name") + "\t");System.out.print(rs.getString("class") + "\t");System.out.print(rs.getString("lesson") + "\t");System.out.print(rs.getFloat("score") + "\n");}conn.close();}catch(SQLException e){ System.out.println("访问数据表错误!");}}三、实验报告1、实验完成后,检查是否达到试验目的。
jdbc实验报告总结
jdbc实验报告总结一、实验介绍本次实验是基于JDBC(Java Database Connectivity)的学习与应用。
JDBC是Java编程语言中的一种用于执行SQL语句的API,它可以让Java程序员轻松地访问数据库。
在本次实验中,我们将学习JDBC的使用方法,在MySQL数据库中创建表格、插入数据、查询数据,并将这些操作封装成Java程序。
二、实验步骤1. 安装MySQL数据库以及JDBC驱动程序。
2. 创建数据库及表格我们需要先创建一个名为“stu”的数据库,在该数据库下创建一个名为“student”的表格。
该表格包含了学生的ID、姓名、性别、年龄和成绩五个字段,其中ID为主键。
CREATE DATABASE stu;USE stu;CREATE TABLE student(id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),sex VARCHAR(2),age INT,score FLOAT(4,1));3. 编写Java程序连接数据库我们需要在Java程序中连接MySQL数据库,使用JDBC提供的API对数据库进行操作。
首先需要加载JDBC的驱动程序,然后获取数据库连接,接着执行SQL语句,最后关闭数据库连接。
Class.forName("com.mysql.jdbc.Driver");String url = "jdbc:mysql://localhost:3306/stu";String user = "root";String password = "";Connection conn = DriverManager.getConnection(url, user, password);Statement stmt = conn.createStatement();String sql = "SELECT * FROM student";ResultSet rs = stmt.executeQuery(sql);while(rs.next()){int id = rs.getInt("id");String name = rs.getString("name");String sex = rs.getString("sex");int age = rs.getInt("age");float score = rs.getFloat("score");System.out.println("ID:"+id+"\t姓名:"+name+"\t性别:"+sex+"\t 年龄:"+age+"\t成绩:"+score);}rs.close();stmt.close();conn.close();4. 插入数据我们需要向student表格中插入一些数据。
jdbc增删改查实验报告
jdbc增删改查实验报告一、实验目的本次实验旨在通过使用Java Database Connectivity (JDBC)技术,掌握数据库的增删改查操作。
二、实验环境本次实验使用的开发工具为Eclipse,数据库管理系统为MySQL。
三、实验过程1. 数据库连接在Java中使用JDBC连接到数据库需要以下步骤:1)加载数据库驱动程序;2)获取数据库连接;3)创建Statement对象或PreparedStatement对象。
示例代码如下:Class.forName("com.mysql.jdbc.Driver");Connection conn = DriverManager.getConnection(url, username, password);Statement stmt = conn.createStatement();其中url是指要连接的数据库地址,username和password是登录数据库所需的用户名和密码。
2. 数据库查询操作查询操作可以使用Statement对象或PreparedStatement对象执行SQL语句。
PreparedStatement对象比Statement对象更安全,因为它可以防止SQL注入攻击。
示例代码如下:PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM users WHERE age > ?");pstmt.setInt(1, 18);ResultSet rs = pstmt.executeQuery();其中?表示占位符,可以通过setInt()等方法设置占位符的值。
3. 数据库插入操作插入操作需要使用PreparedStatement对象执行INSERT语句。
示例代码如下:PreparedStatement pstmt = conn.prepareStatement("INSERT INTO users(name, age) VALUES(?, ?)");pstmt.setString(1, "Tom");pstmt.setInt(2, 20);int rowsAffected = pstmt.executeUpdate();其中executeUpdate()方法返回受影响的行数。
报告_实验九 通过JDBC方式操作数据库
text4.setText(""); String SNO,SNAME,AGE; text4.setText("请输入要插入的信息"); SNO=text1.getText(); SNAME=text2.getText(); AGE=text3.getText(); String URL="jdbc:mysql://localhost:3306/mysql?Unicode=true&characterEncoding=GBK";
System.out.println(RS.getString(1)+'\t'+RS.getString(2)+'\t'+RS.getString(3) );
} con.close(); } catch (SQLException e) { System.out.println(e); }
}
}
public class Experiment_9_JDBC { public static void main(final String[] args) { Query query=new Query(); query.select();//查询 query.insert();//插入 query.delete();//删除 }
System.out.println(RS.getString(1)+'\t'+RS.getString(2)+'\t'+RS.getString(3) );
实验3 JDBC数据库操作
实验3 JDBC数据库操作
一、实验目的
1.掌握JDBC数据库操作。
2.复习Swing图形用户界面程序的编写。
二、实验环境
JDK1.7+Eclpise3.2
三、实验内容
1、编写一个程序,用一个JTable组件显示数据库shop中goods表的内容。
界面如下
点击相应的按钮完成相应的功能。
例如点击插入按钮,弹出对话框
输入数据,按确定按钮可以把记录插入数据库中,同时在JTable组件中刷新数据。
2、编写一个程序,使用Swing组件添加和查询数据库student中stuphoto表的内容。
界面
如下,点击添加菜单项,在添加学生信息界面添加学生:
点击添加学生信息按钮,添加一个学生,添加成功显示对话框:
点击查询菜单项,在查询学生信息界面查询学生信息:
四、实验结果
五、实验总结:。
(完整word版)JDBC实验报告详细
实验二JDBC编程一、目的通过Java数据库访问程序的编写、调试,使学生掌握JDBC编程的基本方法,熟悉常用的JDBC API,促进学生对概念的理解,培养动手能力。
二、基本要求学生需要按时达到指定实验室上机。
调试教学中使用的程序示例,并加以修改,增加程序的功能;实现数据库访问的优化。
完成实验后,需要按时提交实验报告。
三、实验内容(1)复习数据库SQL语句的编写。
(2)编写Java数据库(使用ODBC-JDBC驱动)公共模块。
(3)建立数据库应用模型,对数据库进行操作。
(4)调试程序,实现数据库的访问。
3.1数据源的确定可能是我不知道怎么配置,我的电脑是Windows7系统,和学校WindowsXP 系统的电脑配置方法不太一样,需要在C:\Windows\System32路径中,找到odbcad32.exe才能顺利修改数据源。
数据源设置好了以后就可以编辑代码并正常运行了。
下面以一张截图展示我的数据库3.2数据库信息查询.一3.2.1代码import java.sql.*; /*此处提供了SQL包,就可以放心使用SQL语句了*/ public class Students{public static void main(String args[]){ //look out this "S" of "string" !String driver="sun.jdbc.odbc.JdbcOdbcDriver";/*这里定义了driver做驱动器使用,为了美观事先定义,其实放在Class.forName 的括号里也是完全正确的*/String url="jdbc:odbc:students";/*此处指定了数据库,要注意两者名字一定要一样,否则找不到数据源*/ String query="select name,num,course,score from students"; //focus on the SQL language :select...from... ! /*需要执行的SQL语句*/Connection con=null; /*链接的定义*/Statement s=null; /*Statement对象的定义,两者赋值null 是为了在try块出现异常的时候不会被判断为逻辑错误,认为变量没有赋值*/try{ /*第一个try块实现了驱动器的启动*/Class.forName(driver); //look out this "class" should write in Huge one!/*注意此处的Class需要大写!*/}catch(ClassNotFoundException e){System.err.println("ClassNotFoundException:"+e.getMessage());}try{ /*第二个try块实现查询功能*/con=DriverManager.getConnection(url);/*刚刚定义的url在这里用上,此时程序才真正与数据库相连*/s=con.createStatement(); /*新建一个Statement*/ResultSet r=s.executeQuery(query); /*query在这里用上,执行SQL语句,也就是按照我们的要求实现我们想完成的功能*/System.out.println("name:" + " num:" + " course:" + " score:");while(r.next()){ /*逐行查询,只要有值就执行while里的语句*//*注意以下的每一项name,num等都要与数据库中的题目想吻合*/ String r1=r.getString("name");String r2=r.getString("num");String r3=r.getString("course");String r4=r.getString("score");/*注意这些名字一定要与数据库中的名字吻合!当然也可以用数字代替,但是我的数据库第一列是ID,所以要注意name是2,num是3,以此类推*/System.out.println(r1+ r2+ r3+ r4);}}catch(SQLException e){e.printStackTrace();}finally{try{s.close(); /*关闭Statement对象*/con.close(); /*关闭连接*/}catch(SQLException e){e.printStackTrace();}} System.out.println("i am lagent");/*这条语句是一开始用于查找错误使用的*/ }}3.2.2运行截图13.3数据库信息查询.二3.3.1代码import java.sql.*;import java.util.*;public class Statement1{ /* pay attention the name of class must not be the same with the public style ! The first time i named it "Statement" so that it can't run successfully *//*英文是编程当时留下的痕迹,当时讲类名写作Statement,与关键字相同,因此出错不能正常运行,我的总结是在拿不准的情况加一个数字就可以避免这样的尴尬情况*/public static void main(String arg[]){String driver="sun.jdbc.odbc.JdbcOdbcDriver";String url="jdbc:odbc:Students";String query="select * from students where score > 90"; /*整个程序与第一次编写的没有太大变动和突破,主要是对SQL功能的了解和语句利用的熟练,当时的想法是多写多体会,没考虑创新,在此也就不对语句做重复分析了*/ Connection con=null;Statement s=null;try{Class.forName(driver);}catch(ClassNotFoundException e){System.err.println("ClassNotFoundException:"+e.getMessage());}try{con=DriverManager.getConnection(url);s=con.createStatement();ResultSet r=s.executeQuery(query);System.out.println("name:"+" num:"+" course:"+" score");while(r.next()){String r1=r.getString("name");String r2=r.getString("num");String r3=r.getString("course");String r4=r.getString("score");System.out.println(r1+r2+r3+r4);}}catch(SQLException e){e.printStackTrace();}finally{try{s.close();con.close();}catch(SQLException e){e.printStackTrace();}}}}3.3.2运行截图23.4数据库信息查询.三3.4.1代码import java.sql.*;import java.util.*;import java.io.*;public class PreparedStatement1{public static void main(String arg[]){String driver="sun.jdbc.odbc.JdbcOdbcDriver";String url="jdbc:odbc:Students";String query="select * from students where score > ?";/*要实现按键盘输入的参数来选择查询数据库中的数据,因此需要用“?”*/ Connection con=null;PreparedStatement ps=null;ResultSet r=null;try{Class.forName(driver);}catch(ClassNotFoundException e){System.err.println("ClassNotFoundException:"+e.getMessage());}try{System.out.println("您想要查询分数的下限是:");con=DriverManager.getConnection(url);BufferedReader br=new BufferedReader(new InputStreamReader(System.in));/*带有缓冲区,可以实现从键盘的输入,从字符流中对文本*/try{int ms=Integer.parseInt(br.readLine().trim());/*将键盘输入的参数赋值给ms*///this told me to pay a try and catch , so i put them in a try kuaips=con.prepareStatement(query);/*注意在这里就实现预编译了,这里要注意prepare:小些打头,不是prepared*/ ps.setInt(1,ms); /*1是付给第一个“?”,这里就只有1个*/r=ps.executeQuery();/*因为已经预编译,这里不用在写query*/ }catch(Exception e){System.out.println(e);}System.out.println("name:"+" num:"+" course:"+" score");while(r.next()){String r1=r.getString("name");String r2=r.getString("num");String r3=r.getString("course");String r4=r.getString("score");System.out.println(r1+r2+r3+r4);}}catch(SQLException e){e.printStackTrace();}finally{try{ps.close();con.close();}catch(SQLException e){e.printStackTrace();}}}}3.4.2运行截图31.程序开始运行的程序界面:2.输入参数后的程序界面:3.5数据库信息的增添、删除、修改3.5.1代码import java.sql.*;public class ALL{Connection con=null;Statement s=null;PreparedStatement ps=null;String driver="sun.jdbc.odbc.JdbcOdbcDriver";String url="jdbc:odbc:students";String query="select name,num,course,score from students";public void init(){ /*用init()将定义的对象和变量都初始化*/ try{Class.forName(driver);}catch(ClassNotFoundException e){System.err.println("ClassNotFoundException:"+e.getMessage());}try{con=DriverManager.getConnection(url);s=con.createStatement();}catch(SQLException e){e.printStackTrace();}}public void output(){ /*先输出数据库的数据*/ try{ResultSet r=s.executeQuery(query);System.out.println("name:" + " num:" + " course:" + " score:");while(r.next()){String r1=r.getString("name");String r2=r.getString("num");String r3=r.getString("course");String r4=r.getString("score");System.out.println(r1+ r2+ r3+ r4);}}catch(SQLException e){e.printStackTrace();}}public void add(){try{System.out.println("增加语句之后:");s.executeUpdate("INSERT INTO students(name,num,course,score) V ALUES('三毛','20115407','JA V A高级应用',59)");/*执行更新方法,注意V ALUES后所赋的值对V ALUES前的数据库题目要一一对应,而且在所赋的值一定是用单引号包括*/}catch(Exception e){e.printStackTrace();}}public void change(){try{System.out.println("改变分数之后");ps=con.prepareStatement("UPDATE students SET score=0 WHERE name='三毛'");/*将name为三毛的一栏数据中的score改为0*/ps.executeUpdate();}catch(Exception e){e.printStackTrace();}}public void destroy(){try{s.close();con.close();ps.close();}catch(SQLException e){ e.printStackTrace();}}public static void main(String arg[]){ALL a=new ALL();try{a.init();a.output();a.add();a.output();a.change();a.output(); /*把需要实现的功能分开放在方法中,再在主函数中调用,逻辑清晰而且十分简洁漂亮*/}catch(Exception e){e.printStackTrace();}finally{a.destroy();}}}3.5.2运行截图4四、实验方法与实验步骤(1)根据课堂所学知识,写出JDBC编程的步骤,熟悉JDBC编程所用的类及接口,如Connection、Statement、ResultSet等等;(2)创建程序所要访问的数据库,打开控制面板,建立ODBC数据源,记录给数据库所起的数据源名称。
实验8 JDBC编程
实验八 JDBC编程一、实验目的熟悉使用JDBC来进行数据库应用程序的设计,熟悉通过JDBC接口编程访问数据库并对数据库进行操作。
二、实验要求1.认真完成实验内容并得到正确的程序运行结果。
2.为你的程序加上注释,使得其清晰可读。
3.利用调试程序来修改你程序的逻辑错误4.本次实验要求写实验报告;三、实验原理■什么是JDBC?JDBC技术事实上是一种能通过JAVA语言访问任何结构化数据库的应用程序接口(API)。
相对于ODBC(Open Database Connectivity开放数据库连接)的解释,可以把JDBC看作Java Database Connectivity(Java数据库连接)。
JDBC是由一组用Java语言编写的类与接口组成。
现在,JDBC已成为一种供工具/数据库开发者使用的标准API,用户可以用纯Java API来编写数据库的应用程序。
使用JDBC可以很容易地把SQL语句传送到任何关系型数据库中。
换言之,用户不需要为每一个关系数据库单独写一个程序。
用JDBC API写出唯一的程序,能够将SQL语句发送到相应的任何一种数据库。
Java与JDBC的结合,使程序员可以只写一次数据库应用软件后,就能在各种数据库系统上运行。
■在客户端通过JDBC来访问和操纵数据库的流程。
->建立与数据库的连接;->创建语句对象;->执行查询并返回结果集对象;->处理结果集对象;->关闭结果集和语句对象;->提交更新;->关闭与数据库的连接。
四、主要仪器及耗材计算机及Eclipse软件五、实验内容与步骤使用一个数据库管理系统(access、sql server或mysql)创建一张表,表名student,字段:学号、姓名、性别、出生日期,并在该表中录入至少3条数据。
编写GUI程序,在窗口内创建学号、姓名、性别、出生日期对应的标签及文本框,学号文本框中输入学号后,从数据库查询出对应的学生信息,并在相应文本框中显示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《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 数据源,如果数据源不在本地,则要修改。