|
登录注册 |
☦ 上海交通大学论坛 > 数据库 > 浏览当前帖子 | 手机版 关闭左侧栏 |
在Applet中应用JDBC访问数据库 |
【返回本版】 【发表帖子】 【回复帖子】 | 浏览量 4559 回帖数 0 |
guofashion 等级 ★ 楼主 发表于 2011/8/29 2:50:19 编 辑 |
||
Applet是用Java语言编写的小应用程序,它能够嵌入在HTML中,并由WWW浏览器来解释执 行。但是,如何在Applet中处理Internet世界中大量的数据和分布在网络各个角落的各 种各样的数据库资源呢?这就要使用JDBC。 一、 JDBC的工作原理 JDBC(Java DataBase Connectivity)是用于执行SQL语句的Java应用程序接口,由一组 用Java语言编写的类与接口组成。JDBC是一种规范,它让各数据库厂商为Java程序员提 供标准的数据库访问类和接口,这样就使得独立于DBMS的Java应用程序的开发工具和产 品成为可能。JDBC是利用JDBC-ODBC桥通过ODBC来访问数据库的,如下图所示: 二、 JDBC编写数据库程序的方法 1. 建立数据源 建立数据源是指建立ODBC数据源。 2. 建立连接 与数据库建立连接的标准方法是调用方法 Drivermanger.getConnection(String url,String user,String password)。Drivermanger 类用于处理驱动程序的调入并且对新的数据库连接提供支持。 3. 执行SQL语句 JDBC提供了Statement类来发送SQL语句,Statement类的对象由createStatement方法创建; SQL语句发送后,返回的结果通常存放在一个ResultSet类的对象中,ResultSet可以看作是 一个表,这个表包含由SQL返回的列名和相应的值,ResultSet对象中维持了一个指向当前行 的指针,通过一系列的getXXX方法,可以检索当前行的各个列,从而显示出来。 三、JDBC编写数据库程序的实现 为了便于问题的说明,作如下假设。运行环境:Windows 98 (附加Personal Web Server (PWS))、IE4.0或以上浏览器、Access97;程序编辑、编译环境:VJ++6.0。 1.建立数据源interweb,其连接的数据库是使用Access 97建立的interweb,其中的表 为t_interdata,结构如下: 字段名 类型 长度 bh 文本 10 //编号 mc 文本 20 //名称 dj 货币 自动 //单价 2.实现程序 用VJ++6.0建立applet小程序Applet1.java,并且如下修改其中的代码 import java.awt.*; import java.applet.*; import java .sql.*; public class Applet1 extends Applet { public void init() { resize(400,300); } public void paint(Graphics g) //此方法用于显示输出 { this.setBackground(Color.lightGray ); //定义背景颜色 this.setForeground(Color.red); //定义前景颜色 String url="jdbc:odbc:interweb"; String ls_1="select * from t_interdata"; Try //异常处理模块 { Class.forName("com.ms.jdbc.odbc.JdbcOdbcDriver"); //加载驱动程序 //建立连接 Connection con=DriverManager.getConnection(url,"sa",""); //执行SQL Statement stmt=con.createStatement(); ResultSet result=stmt.executeQuery(ls_1); //返回结果 g.drawString("编号",40,40); g.drawString("名称",80,40); g.drawString("价值",160,40); int i=10; while(result.next()) { //取各个字段的值 g.drawString(result.getString(1),40,60+i); g.drawString(result.getString(2),80,60+i); g.drawString(result.getString(3),160,60+i); i+=20; } //关闭连接 result.close(); stmt.close(); con.close(); } //捕获异常 catch(SQLException ex){} catch(java.lang.Exception ex){} } } 编译后产生Applet1.class文件,嵌入到下面的page1.html中, <HTML> <HEAD> <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"> </HEAD> <BODY> <!-- Insert HTML here --> <APPLET code=Applet1.class codebase="http://yang/youngnewweb/interweb/web2/ height=200 name=Applet1 width=320 VIEWASTEXT > </APPLET> </BODY> </HTML> |
1 |
论坛帮助 会员认证删帖申请 联系我们 |