电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 在线教程-> JSP教程
使用Java Applet访问数据库(转载)-JSP教程,Application/Applet
作者:网友供稿 点击:17
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
使用java applet访问数据库

    学习任何的程序语言,当然都得与数据库,java刚刚诞生的时候,对数据库的支持并不是很好,经过这几年的发展,它对数据库的支持也已经完全达到了成熟的境地。由于这里主要是介绍java applet小程序, 因此,不可能用大的篇幅去给大家介绍数据库的知识了,怎么样去建立与设计数据库,还是请大家自己找点书看看吧!这儿,对不住了。

    我们这儿以microsoft access数据库为例子来说明怎么实现一个数据库的打开与读取的知识。

第一步:
    使用microsoft access创建一个数据库,也就是我的这个例子要用到的,内容就随便了。

第二步:也就是编程序了。

1)定义变量,变量的定义如下:

  textarea thevisits=new textarea (6,80);   
                              //显示数据库的内容
  textfield thestatus=new textfield ("",80);
                            //显示打开数据库的信息。相当于程序的状态栏
  connection theconnection; //数据库的连接方法
  statement thestatement;   //代表一个发送到数据库来执行的数据库命令
  resultset theresult;         //读取的数据结果,也就是数据库返回的结果
  resultsetmetadata themetadata;
                        //包含了有关数据库命令执行后 返回结果的有用信息。
  string thedatasource; //包含了被访问数据库或者数据源的名称,用url形式表示 .
  string theuser;           //数据库的用户名
  string thepassword;      //数据库的密码
2)实现界面,可以用开始时给大家介绍的方法来实现,界面的实现相对来说,

比较的简单了,如下:

public void init()
  {
      add(thevisits);
      add(thestatus);
      thevisits.seteditable (false);   //设置文本区域不可以被用户写入
      thestatus.seteditable (false);   //设置文本区域不可以被用户写入
      openconnection();                //打开数据库的连接
      execsqlcommand("select * from mytable");  //从数据库中读取内容
      closeconnection();               //关闭已经打开的数据库
    }
3)打开某个数据库的连接

public void openconnection()
    {
    thedatasource="jdbc:odbc:myaccess";
    theuser="";
    thepassword="";
    try
    {
    class.forname("sun.jdbc.odbc.jdbcodbcdriver");
theconnection=drivermanager.getconnection(thedatasource,theuser,thepassword);
        thestatus.settext("status:ok");
    }
    catch (exception e)
        {
        handleexception(e);
        }
    }

     包含数据源名称的字符串格式为一个特殊的语句:

jdbc:<subpotocol>:<subname>

     协议 名jdbc必须提供,子协议和子名称根据使用数据源类型而变化。
jdbc drivermanager使用子协议来选择书记源响应的驱动程序。子协议
的通常值为“odbc”和“oracle“,子名称包含了该驱动程序使用的附加
信息。通常情况,该子名称是某个网络名称,例如,用于其它web服务:

jdba:<subpotocol>://<host.domin><port>/<databasename>

    驱动程序的说明应该指定子协议和子名称的正确形式。使用odbc时,主机
和端口信息没有必要提供,因为数据源总是配置在本地主机上。用于odbc数据源的形式是

jdbc:odbc:<data source name>

    为了打开数据库连接,用户必须使用具体的驱动程序另外,驱动程序应该指
定如何这样做。如果正在使用jdbc-odbc桥程序,那么可以通过使用名为class类
的forname()方法来使用具体的jdbc-odbc桥驱动程序。

class.forname("sun.jdbc.jdbcodbcdriver");

    然后,拥护可以告诉rmanager打开数据源的连接,使用下列方法:

theconnection=drivermanager.getconnection(thedatasource,theuser,thepassword);

    getconnection()方法返回一个connection对象,用户应该保存这个对象,
因为它是访问数据源的方法。这里,该对象保存到名为theconnection的字段中。

    如果在打开连接过程中出现错误,则sqlexception作废,通过在try-catch
块内打开连接的语句,拥护可以处理这种异常。通过使用后面要讲的handleexception(),
在textfield内显示一个简短的相应信息。

4)执行sql命令

public void execsqlcommand(string command)
{
    try{
        thestatement=theconnection.createstatement();
        theresult=thestatement.executequery (command);
        themetadata=theresult.getmetadata ();
        int columncount=themetadata.getcolumncount ();
        thevisits.settext("");
        while(theresult.next ())
        {
            for(int i =1;i<=columncount;i++)
            {
                string colvalue=theresult.getstring(i);
                if(colvalue==null)colvalue="";
                thevisits.append (colvalue+";");
            }
            thevisits.append ("\n");
        }
    }catch(exception e)
    {
        handleexception(e);
    }
}
    为了执行该命令,程序使用connection对象的createstatement()方法创建
一个可以有查询的statement。然后,它激活statement对象的executivequery()
方法,用来传递包含sql查询语句的字符串。从init()中传送过来的参数——
slect * from mytable是一个简单的数据库查询语言,如果你还不知道什么意思,
那么请你还是查看一本有关数据库的书吧,这些内容很多,不是我这儿一下子能说
清楚的了。它的意思简单的说,就是查找表——mytable中的所有(*)信息。它会
返回数据库中的所有内容,并把它作为resultset访问的结果。接着该程序激活resultset
对象的getmetadata()方法。这时,返回一个resultsetmetadata值,该值存储在
一个称为themetadata的变量中。使用resultsetmetadata对象,可以获得很多有用的
数据;这里该程序使用getcolumncount()方法获得结果表中列的数量。最后,该程序反
复使用该结果表,激活theresult的next()方法获得结果表中的每一条记录,只到该方法
使用完全部记录返回flase为止。

5)关闭数据库连接

public void closeconnection()
    {
    try{
        theconnection.close ();
        }
        catch(exception e)
        {
        handleexception(e);
        }
    }
    当用户访问完某个数据库时,应该关闭数据库连接,释放与连接有关的资源。用户创建
的任何打开的resultset或者statement对象将 自动关闭。另外,在关闭连接时可能发
生一个sqlexception,也放到后面处理。

6)处理异常和错误

public void handleexception(exception e)
    {
    thestatus.settext("error:"+e.getmessage ());
    e.printstacktrace ();
    if(e instanceof sqlexception)
        {
        while((e=((sqlexception)e).getnextexception ())!=null)
         {
                system.out.println(e);
            }
        }
    }
    handleexception()方法用来处理以上的错误和异常。该方法设置状态textfield包含与
异常有关的错误消息,使用getmessage()方法获得该消息。它还可以在system.out打印
堆栈轨迹。

三 安装odbc数据源

为了运行这个应用程序,用户必须 首先创建一个与mytable数据库相对应的 odbc数据源。
为了通过odbc使用access,用户必须安装access odbc驱动程序。如果用户没有安装该驱动
程序,那么还是先安装吧,什么,不会,不会也不行了,找一本书好好看看吧,这是肯定要
看的。我这儿简单的给你说一下吧:

1.从控制面板中选择odbc-32,双击(要是没有这个图标,那我真的没有办法了,它在安装
数据库的时候,应该会安装上的,否则就只能找一张数据库系统的安装盘,找到odbc驱动程
序进行安装)。

2.单击添加,选择microsoft access driver。(如果这个图标也没有,那么你的机器是严
重缺乏营养,赶紧装数据库必须的软件,先装access,这儿要用)

3.输入你要使用的数据源的名称(如果没有,那就得先创建,我这儿就不说access的使用方
法了)。描述就随便你了。

4.单击选择按钮选择你已经创建好了的access数据库的文件。

5.点确定就可以了。如果你想为你数据库保密的话,可以加上用户名和密码。(在高级选项里面)。

        要说明一点的是,如果你用vj++编辑的此程序,要是运行不了,那就是数据库的连接没有设
置好,怎么将数据库设计好,以后再说吧。另外,vj++有它自己的数据库驱动程序。很适合与
vj++一起使用,可惜介绍这方面的书好象不是很多。


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·IReport与JasperReport开发详解一-JSP教程,Java技巧及代码
·JSTL(JSP标准标签库)介绍-JSP教程,资料/其它
·格式化输入日期时间控件 JieFormattedDateBox-JSP教程,Java技巧及代码
·JSTL简化JSP编码-JSP教程,Jsp/Servlet
·JUnit和单元测试入门简介-JSP教程,Java技巧及代码
·从数据库中读取一个图片并保存为一个图片文件-JSP教程,数据库相关
·Java Swing入门基础-JSP教程,Java技巧及代码
·IntelliJ IDEA培训-JSP教程,Java技巧及代码
·通过JSP的预编译消除性能瓶颈-JSP教程,Jsp/Servlet
·Java中利用JMF编写摄像头拍照程序-JSP教程,Java技巧及代码

最新文章
·J2ME中的时间处理方法
·J2ME播放声音流程简介
·J2ME开发之手机键盘使用注意问题
·J2ME 记录管理存储
·MVC模式在j2me项目中的应用(二)
·MVC模式在j2me项目中的应用(一)
·J2ME中使用记录存储系统(RMS)存储信息
·J2ME与MIDP开发(1)
·用简单的J2ME程序测试MIDlet的生命周期
·JAVA基础:提升JSP应用程序的七大绝招




版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号