《JDBCODBC访问数据库.ppt》由会员分享,可在线阅读,更多相关《JDBCODBC访问数据库.ppt(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、JDBC技术技术使用使用JDBC-ODBC桥驱动程桥驱动程序访问数据库序访问数据库 兰州石化职业技术学院兰州石化职业技术学院软件教研室任泰明软件教研室任泰明 2010.5引言:引言:在在前前一一节节我我们们介介绍绍了了编编写写数数据据库库访访问问程程序序的的基基本本步步骤骤,本本节节将将通通过过几几个个实实例例来来说说明明如如何何具具体体实实现现一一个个数数据据库库访问程序。访问程序。本讲内容:本讲内容:1.1.创建数据库和数据表创建数据库和数据表2.2.建立建立DSNDSN数据源数据源3.3.编写数据库访问程序编写数据库访问程序一、创建数据库和数据表一、创建数据库和数据表在在Java程序中,
2、进行数据库操作首先要建立一个数据库程序中,进行数据库操作首先要建立一个数据库管理系统,本书实例中所使用的数据库系统为管理系统,本书实例中所使用的数据库系统为MS SQL Server2000。在在SQL Server2000下建立一个存放学生信息的数据库下建立一个存放学生信息的数据库students。在在students数据库中创建一个存放计算机系学生信息的数数据库中创建一个存放计算机系学生信息的数据表,表名为据表,表名为“JSJXstuInfo”。该表有。该表有5个字段,它们个字段,它们是是stuNo、stuName、stuAge、stuSex和和stuClass,分别代,分别代表学生的学号
3、、姓名、年龄、性别和班级。表学生的学号、姓名、年龄、性别和班级。二、建立二、建立DSNDSN数据源数据源使用使用JDBC-ODBC桥驱动程序访问数据库,要在访问数桥驱动程序访问数据库,要在访问数据库的客户机上生成数据源名据库的客户机上生成数据源名DSN。DSN把数据库、数据库的驱动程序和一些可选设置联系把数据库、数据库的驱动程序和一些可选设置联系起来,用一个名称表示,所以配置好起来,用一个名称表示,所以配置好DSN以后访问数据以后访问数据库就比较简单了。库就比较简单了。DSN的配置方法如下:的配置方法如下:二、建立二、建立DSNDSN数据源数据源1.启动创建数据源的窗口启动创建数据源的窗口在在
4、“控制面板控制面板”下打开下打开“管理工具管理工具”窗口,然后双击窗口,然后双击“管管理工具理工具”窗口中的窗口中的“数据源(数据源(ODBC)”,打开如图,打开如图8-6所所示的示的“ODBC数据源管理器数据源管理器”。二、建立二、建立DSNDSN数据源数据源2、创建一个新数据源、创建一个新数据源在在图图8-6所所示示的的窗窗口口中中选选择择“用用户户DSN”选选项项卡卡(注注意意在在配配置置数数据据库库服服务务器器时时,要要选选择择“系系统统DSN”选选项项卡卡),然然后后单单击击“添添加加”命命令令按按钮钮,显显示示如如图图8-7所所示示的的“创创建建新新数数据源据源”窗口。窗口。二、建
5、立二、建立DSNDSN数据源数据源2、创建一个新数据源、创建一个新数据源在在图图8-7所所示示的的窗窗口口中中选选择择“SQL Server”,然然后后单单击击“完完成成”命命令令按按钮钮,则则显显示示如如图图8-8所所示示的的“建建立立新新的的数数据据源源到到SQL Server”窗口。窗口。二、建立二、建立DSNDSN数据源数据源2、创建一个新数据源、创建一个新数据源在在图图8-8所所示示窗窗口口的的“名名称称”文文本本框框中中输输入入“students”,在在“服服务务器器”下下拉拉列列表表框框中中选选择择“local”,然然后后单单击击“下一步下一步”命令按钮,显示如图命令按钮,显示如
6、图8-9所示的窗口。所示的窗口。二、建立二、建立DSNDSN数据源数据源2、创建一个新数据源、创建一个新数据源在在图图8-9所所示示的的窗窗口口中中可可以以选选择择默默认认的的设设置置方方式式,然然后后单单击击“下一步下一步”命令按钮,显示如图命令按钮,显示如图8-10所示的窗口。所示的窗口。二、建立二、建立DSNDSN数据源数据源2、创建一个新数据源、创建一个新数据源在在图图8-10所所示示的的窗窗口口中中,将将“更更改改默默认认的的数数据据库库为为”选选中中,然然后后在在下下拉拉列列表表框框中中选选择择“students”数数据据库库。单单击击“下下一步一步”命令按钮,显示如图命令按钮,显
7、示如图8-11所示的窗口。所示的窗口。二、建立二、建立DSNDSN数据源数据源2、创建一个新数据源、创建一个新数据源图图8-11所所示示的的窗窗口口根根据据需需要要选选中中有有关关选选项项后后,单单击击“完完成成”命令按钮,显示如图命令按钮,显示如图8-12所示的窗口。所示的窗口。二、建立二、建立DSNDSN数据源数据源2、创建一个新数据源、创建一个新数据源图图8-12所所示示的的窗窗口口显显示示新新建建数数据据源源的的配配置置信信息息。为为了了测测试试数数据据源源的的配配置置是是否否成成功功,可可以以单单击击图图8-12中中的的“测测试试数数据据源源”命命令令按按钮钮,如如果果显显示示如如图
8、图8-13所所示示的的窗窗口口,则则说说明明创创建建数数据据源源的的客客户户端端可可以以与与数数据据库库服服务务器器建建立立连连接接。单单击击“确定确定”命令按钮完成配置过程。命令按钮完成配置过程。三、创建数据库和数据表三、创建数据库和数据表在在Java程序中,进行数据库操作首先要建立一个数据库程序中,进行数据库操作首先要建立一个数据库管理系统,本书实例中所使用的数据库系统为管理系统,本书实例中所使用的数据库系统为MS SQL Server2000。在在SQL Server2000下建立一个存放学生信息的数据库下建立一个存放学生信息的数据库students。在在students数据库中创建一个
9、存放计算机系学生信息的数数据库中创建一个存放计算机系学生信息的数据表,表名为据表,表名为“JSJXstuInfo”。该表有。该表有5个字段,它们个字段,它们是是stuNo、stuName、stuAge、stuSex和和stuClass,分别代,分别代表学生的学号、姓名、年龄、性别和班级。表学生的学号、姓名、年龄、性别和班级。三、编写数据库访问程序三、编写数据库访问程序下面是对数据库表进行查询、插入、删除与更新操作的实例程序。下面是对数据库表进行查询、插入、删除与更新操作的实例程序。1.查询数据库中数据表的程序查询数据库中数据表的程序下面的程序将数据库下面的程序将数据库students的学生信息
10、表的学生信息表JSJXstuInfo中存放的学中存放的学生记录读取出来,然后输出。生记录读取出来,然后输出。实例实例8-1:从数据表中读取学生信息的:从数据表中读取学生信息的Java程序程序(Select.java)01:import java.sql.*;02:import java.io.*;03:class Select 04:05:public static void main(String args)06:07:try08:三、编写数据库访问程序三、编写数据库访问程序09:Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);10:Connectio
11、n conn=DriverManager.getConnection(jdbc:odbc:students);11:Statement stmt=conn.createStatement();12:String strQuery=SELECT*FROM JSJXstuInfo;13:ResultSet rs=stmt.executeQuery(strQuery);14:while(rs.next()15:16:System.out.print(rs.getString(stuNo);17:System.out.print(rs.getString(stuName);18:System.out.
12、print(+rs.getInt(stuAge);19:System.out.print(+rs.getString(stuSex);20:System.out.println(+rs.getString(stuClass);21:三、编写数据库访问程序三、编写数据库访问程序1.查询数据库中数据表的程序查询数据库中数据表的程序22:rs.close();23:stmt.close();24:conn.close();25:26:catch(Exception e)System.out.print(e);27:28:实例实例8-1比较简单,它完全是根据比较简单,它完全是根据8.2节介绍的编写访问
13、数据库程序的节介绍的编写访问数据库程序的步骤完成的。步骤完成的。要注意的是访问数据库的程序,由于数据库或数据表不存在、或与要注意的是访问数据库的程序,由于数据库或数据表不存在、或与数据库的连接不能建立等因素,往往会产生异常,因此访问数据库数据库的连接不能建立等因素,往往会产生异常,因此访问数据库的代码要放入异常处理语句块的代码要放入异常处理语句块try中,并要在中,并要在catch语句块中进行异常语句块中进行异常处理。处理。三、编写数据库访问程序三、编写数据库访问程序实例实例8-1在编译正确后执行,图在编译正确后执行,图8-14所示的是该程序执行后显示的结所示的是该程序执行后显示的结果。果。三
14、、编写数据库访问程序三、编写数据库访问程序2、在数据表中插入记录的程序在数据表中插入记录的程序下面的程序将在学生信息表下面的程序将在学生信息表JSJXstuInfo中插入一行记录。中插入一行记录。实例实例8-2:在数据表中插入记录的:在数据表中插入记录的Java程序程序(Insert.java)01:iimport java.sql.*;02:iimport java.io.*;03:cclass Insert04:05:public static void main(String args)06:07:try08:09:Class.forName(sun.jdbc.odbc.JdbcOdbc
15、Driver);10:Connection conn=DriverManager.getConnection(jdbc:odbc:students);11:Statement stmt=conn.createStatement();12:String strInsert=INSERT INTO JSJXstuInfo VALUES(0010,任高任高,18,男男,JSJ002);三、编写数据库访问程序三、编写数据库访问程序13:int rows=stmt.executeUpdate(strInsert);14:System.out.println(在数据库表中插入了在数据库表中插入了+rows
16、+行记录行记录);15:stmt.close();16:conn.close();17:18:catch(Exception e)System.out.print(e);19:20:实例实例8-2的的12行定义了要插入的行定义了要插入的SQL语句,语句,13行使用行使用executeUpdate方法执行方法执行SQL插入语句。插入语句。14行显示插入的行数。行显示插入的行数。三、编写数据库访问程序三、编写数据库访问程序3、删除数据表中记录的程序删除数据表中记录的程序下面的程序将满足条件的学生记录从下面的程序将满足条件的学生记录从JSJXstuInfo表中删除。表中删除。实例实例8-3:删除数据
17、表中插入的:删除数据表中插入的Java程序程序(Delete.java)01:import java.sql.*;02:import java.io.*;03:class Delete 04:05:public static void main(String args)06:07:try08:09:Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);10:Connection conn=DriverManager.getConnection(jdbc:odbc:students);11:Statement stmt=conn.createStatement(
18、);12:String strDelete=DELETE FROM JSJXstuInfo WHERE stuAge=19;三、编写数据库访问程序三、编写数据库访问程序13:int rows=stmt.executeUpdate(strDelete);14:System.out.println(在数据库表中删除了在数据库表中删除了+rows+行记录行记录);15:stmt.close();16:conn.close();17:18:catch(Exception e)System.out.print(e);19:20:实例实例8-3的的12行定义了删除记录的行定义了删除记录的SQL语句,语句,
19、13行使用行使用executeUpdate方法执方法执行行SQL语句。语句。14行显示删除的行数。行显示删除的行数。三、编写数据库访问程序三、编写数据库访问程序4、修改数据表中记录的程序修改数据表中记录的程序下面的程序将满足条件的学生记录进行修改。下面的程序将满足条件的学生记录进行修改。实例实例8-4:修改数据表记录的:修改数据表记录的Java程序程序(Update.java)01:import java.sql.*;02:import java.io.*;03:class Update 04:05:public static void main(String args)06:07:try08
20、:09:Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);10:Connection conn=DriverManager.getConnection(jdbc:odbc:students);11:Statement stmt=conn.createStatement();12:String strUpdate=UPDATE JSJXstuInfo SET stuAge=stuAge+1;三、编写数据库访问程序三、编写数据库访问程序13:int rows=stmt.executeUpdate(strUpdate);14:System.out.println(数据库表中的数据库表中的+rows+行被修改了行被修改了);15:stmt.close();16:conn.close();17:18:catch(Exception e)System.out.print(e);19:20:实例实例8-4的的12行定义了一个修改学生记录的行定义了一个修改学生记录的SQL语句,该语句将语句,该语句将JSJXstuInfo表中所有学生记录的表中所有学生记录的stuAge字段加字段加1(即所有学生的年龄增加(即所有学生的年龄增加1)。)。上机实践题:上机实践题:1.编写网上书店。编写网上书店。