摘要:本文主要介绍采用JDBC、ODBC接口实现了与SQL Server2000数据库的连接,并利用Java应用程序对其进行访问,同时通过图形用户界面实现了简单的查询功能。
关键词:Java,SQL Server,数据库
前言
|
数据库技术和网络技术是当今计算机领域的两大热门话题,数据库技术自产生以来,在技术上已发展成熟。而作为前端访问的开发工具和环境仍处在不断完善和发展之中,除了网络上使用的ASP、PHP、JSP作为前端连接数据库技术外,小型系统上常用访问数据库技术有Delphi、Visual Basic、PowerBuilder及VC 等,而Java也是其中之一。 Java语言是编写数据库应用程序的杰出语言之一,它提供了方便访问数据的技术。利用Java语言中的JDBC技术,用户能方便地开发出基于Web网页的数据库访问程序,从而扩充网络应用功能。JDBC(Java Database Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一的访问接口。JDBC由一组用Java语言编写的类与接口组成,通过调用这些类和接口所提供的方法,用户能够以一致的方式连接多种不同的数据库系统(如Access、SQL Server 2000、Oracle、Sybase等),进而可使用标准的SQL语言来存取数据库中的数据,而不必再为每一种数据库系统编写不同的Java程序代码。 SQL Server2000是微软公司新一代的数据库产品,它是在SQL Server7.0建立的坚固基础上产生的,并对SQL Server7.0做了大量扩展。SQL Server2000通过高端硬件平台以及最新网络和存储技术的支持,可为最大的Web站点和企业级应用提供可扩展性和高可靠性。 Java通过JDBC、ODBC接口访问数据库 1 JDBC、ODBC接口 Java应用程序通过JDBC API(java.sql)与数据库连接,而实际的动作则是由JDBC驱动程序管理器(JDBC Driver Manager)通过JDBC驱动程序与数据库系统进行连接。ODBC(Open DataBase Connectivity)即开放式的接口,它为用户提供了一个访问关系数据库的标准接口,对于不同的数据库它提供了一套统一的API;可以使应用程序通过API访问任何提供了ODBC驱动程序的数据库,而目前所有的关系数据库都提供了ODBC驱动程序,所以ODBC已经成为数据库访问的业界标准,并得到了广泛应用。 JDBC-ODBC桥是一种JDBC驱动程序,它通过将JDBC操作转换为ODBC操作来实现的。利用JDBC-ODBC桥可以使程序开发人员不需要学习更多的知识就可以编写JDBC应用程序,并能够充分利用现有的ODBC数据源。JDBC-ODBC桥驱动程序可以使JDBC能够访问几乎所有类型的数据库。 2 利用Java应用程序访问SQL Server2000数据库 (1)建立数据库 启动“Microsoft SQL Server2000”,打开“企业管理器”在“数据库”中建立名为“mydata”的数据库,并在其下制作名为“wuzi”的数据表,如图1所示。
(2)建立(ODBC)数据源和驱动程序 在控制面板上通过“管理工具”的“数据源(ODBC)”打开“ODBC数据源管理器”对话框,单击“系统DSN”选项卡,然后单击“添加”按钮,得到“创建数据源”对话框,选择“SQL Server”并单击“完成”按钮,在出现的“建立新的数据源到SQL Server”对话框中的“数据源名称”项填写“wzgl”并选取“服务器名”,然后单击“下一步”按钮,选择“使用网络登录ID的Windows NT验证”项目,单击“下一步”按钮,把默认的数据库改为“mydata”,再单击“下一步”,单击“完成”按钮,然后可以单击“测试数据源”,成功后,单击“确定”按钮,完成了(ODBC)数据源和驱动程序的建立。 3 编写代码 将代码保存在jdbc.java文件中: import java.awt.*;import java.awt.event.*;import java.sql.*; public class jdbc //定义主类 { public static void main(String args[]) { GUI gui=new GUI(); //创建类GUI的对象 gui.pack(); //装载执行GUI类 } } class GUI extends Frame implements Action Listener { TextArea text; Panel panel; TextField sno; Button btn; GUI() //构造方法 { super("物资情况查询");setLayout(new BorderLayout()); setBackground(Color.cyan); setVisible(true);text=new TextArea(); btn=new Button("查询"); sno=new TextField(16); panel=new Panel(); panel.add(new Label("输入被查询的物资编号:")); panel.add(sno); panel.add(btn); add("North",panel); add(text,"Center"); text.setEditable(false);btn.addActionListener(this); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { setVisible(false); System.exit(0); } }); } public void actionPerformed(ActionEvent e) { if(e.getSource()==btn) //当用户按下查询按钮时 { text.setText("查询结果" '\n'); //显示提示信息 try { Liststudent(); } catch(SQLException ee) { } } } public void Liststudent() throws SQLException //针对数据库的操作 { String bh,mc,xh,lb,dw,sj; int sl; float dj,je; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(ClassNotFoundException e) { } Connection con=DriverManager.getConnection("jdbc:odbc:wzgl"); Statement sql=con.createStatement(); //创建Statement对象 ResultSet rs=sql.executeQuery("select * from wuzi"); while(rs.next()) //输出被查询的情况 { bh=rs.getString("物资编号"); mc=rs.getString("物资名称"); xh=rs.getString("规格型号"); lb=rs.getString("类别"); dw=rs.getString("计量单位"); sl=rs.getInt("数量"); dj=rs.getFloat("单价"); je=rs.getFloat("金额"); sj=rs.getDate("时间").toString(); if(bh.trim().equals(sno.getText().trim())) { text.append('\n' "物资编号" " " "物资名称" " " "规格型号" " " "类别" " " "计量单位" " " "数量" " " "单价" " " "金额" " " "时间" '\n'); text.append('\n' bh " " mc " " xh " " lb " " dw " " sl " " dj " " je " " sj " " '\n'); } } } } 4 运行程序 首先编绎:javac jdbc.java 编译成功后,执行:java jdbc 执行后在文本框中输入要查询物资的物资编号,单击“查询”按钮,在下面的文本框中显示被查询物资的所有信息。如图2所示。
结束语 本文只涉及到对SQL Server2000数据库访问的查询操作,也可以进行插入、删除、修改等操作。随着数据库技术的迅猛发展和Java版本的不断升级,利用Java对数据库的访问会越来越简单,并且应用的范围也会越来越广,当然还会有许多新的功能等待我们去开发。
文章整理:西部数码--专业提供域名注册、虚拟主机服务 相关文章
热点关注
IDC资讯
虚拟主机
域名注册
托管租用
vps主机
智能建站
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源 网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧 行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒 网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它 服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护 软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer 网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash 程序设计 Java技术 C/C++ VB delphi 网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术 操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD |




