首页 > 范文大全 > 正文

Java语言中访问SQLSeryer 2000的方法

开篇:润墨网以专业的文秘视角,为您筛选了一篇Java语言中访问SQLSeryer 2000的方法范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

java言中主要是通过JDBC与各种数据库进行数据通信,JDBC是Java语言中用于访问数据库的API。和其它数据库编程环境相比。利用Java编程语言和JDBC开发的程序是独立于平台和厂商的。为了便于配置JDBC而又尽量不对程序代码做大量改动,JDBC被设计成分层式的结构。

Java应用程序通过JDBCAPI直接与JDBC驱动程序管理器进行通信,向管理器发送各种不同的SQL语句;而驱动程序管理器再和各种不同的第三方驱动程序通信,由这些具体的第三方驱动程序负责连接数据库,返回查询信息或执行查询语句指定的动作。

1、安装JDBC和JDBC驱动程序

如果已经安装了JDK1.4.1,就已经安装了JDBC包,你也可以从Sun公司主页下载JD-BC的最新版本,然后把它与当前的开发环境结合起来,但需注意要确保版本号兼容,并遵循安装指导。

连接SQL server数据库的JDBC驱动程序可以直接到微软公司主页免费下载。通常这类驱动程序被封装成ZIP或JAR文件,获得后需要把它们的存放路径加到CLASSPATH中,微软公司的JDBC驱动程序包是一个setup.exe文件,需要安装到系统中,安装后的驱动程序主要是三个JAR文件。它们是msbase.jar、mssqlserver.jar和msutil.jar。

在代码开始部分一定要用如下语句导入JDBC包,否则程序无法真正使用JDBC:im-port java.sql.:

2、连接数据库

2.1确定数据源

当连接一个数据库时,必须指定数据源,JDBC用类似于URL格式确定数据源,连接SQL Server 2000数据源的格式为:jdbc:mi-crosoft:salserver://hostname:port [:proper-ty=value…]。

其中:表示要连接的主机名或IP地址;表示要连接的SQL Server2000数据库的网络端口号,例如1031;Prop-erty=value是连接数据库时需附加的一些特殊的属性值对,例如user=sa,表示连接数据库的用户名为“sa”。

注意当计算机已连到局域网中,也可用本机IP地址替换,如果只是在单机上测试,则最好用计算机名表示,否则可能连接不上数据库。

2.2建立连接

JDBC中的DriverManager类负责选取用于连接数据库的驱动程序和建立新的数据库连接,但是驱动程序管理器只能激活已经注册的驱动程序。注册SQL Server 2000数据库驱动程序可以采用的方法为:Class.forName(“com.microsoft idbc.sqlserver.SQLServerDriver”)。

当成功注册了驱动程序后,就可以创建一个数据库连接,在JDBC中用Connection类实例表示数据库连接,这个类实例由Driver-Manager类的getConnection( )方法返回,具体操作如下所示:

String url=“jdbc:microsoft:sqlserver://jszx-wx:1433;databasename=student;Us-er=sa;Password=123”;Connection conn=DriverManager.getConnection(url)

其中,user和password分别为连接数据库的用户名和口令。

3、执行动作命令

3.1生成Statement对象

通过DriverManager取得数据库连接之后。就可以生成Statement对象,使用它可以执行各种SQL命令。通过调用Connection对象的createStatement( )方法来创建Statement对象,操作如下所示:

Statement stmt=conn.createStatement( ):

3.2执行各种动作命令

(1)executeUpdate()方法

这个方法可以执行大多数数据库操纵语言(DML,Data Manipulation Language)语句。此方法接受一个String类型参数,参数即为要执行的SQL语句,方法返回一个整数值,表示这个SQL语句修改的记录数,对于DDL命令,返回值总为数值0。

(2)executeQuery( )方法

这个方法可以执行SELECT查询,它有一个String类型参数,参数即为要执行的查询语句。此方法返回一个ResultSet对象。可以利用它来处理查询结果。处理查询结果时可以一次一行地进行处理,处理某一行前首先要将Re-sultSet的光标移到这一行,光标所指的行称为当前行,需要注意的是当生成ResultSet时,光标指向第一行前面,所以要正常访问首记录时应首先执行ResultSet的next( )方法,将光标移到第一行上,next( )方法的作用是使当前行的下一行成为当前行,如果当前行是结果集中的最后一行,则返回false。否则为true。

3.3释放资源

当Connection、Statement及ResultSet对象使用完毕,应该释放这些资源,否则可能造成其它应用程序无法使用它们。而且当生成大量连接时应用程序性能会明显下降,这些对象都有一个close( )方法,可以通过调用它来显式释放数据库资源,例如下列代码所示:

rset.close( );

stmt.close( );

conn.close( );

4、处理错误

在实际操作数据库过程中有可能引发各种错误,JDBC主要通过两个类来处理这些错误:

4.1 SQLException类

在java.sql包中定义的大多数方法都可以抛出SQLException,我们可以通过添加try和catch代码来捕获它们。SQLException类提供了许多方法供我们获得各种错误信息,例如以下方法:

getMessage( ):获得描述错误的消息;

getErrorCode( ):返回表示错误的整数值,这个值是驱动程序特定的,要解释它可以参考相应驱动器文档。

4.2 SQLWarning类

在某些数据库操作中发生的错误类型可能不重要,这时不会中断应用程序的执行,因此不会抛出异常,而是产生错误警告,附加在对象上,如果想了解这些警告信息,可以通过对象的getWarnings( )方法获得。