JAVA利用JDBC访问sql server 2000

参照网上流传的例子

 

摘要: 本文主要介绍采用 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 所示。


1

  ( 2 )建立( ODBC )数据源和驱动程序

  在控制面板上通过 管理工具 数据源( ODBC 打开 “ODBC 数据源管理器 对话框,单击 系统 DSN” 选项卡,然后单击 添加 按钮,得到 创建数据源 对话框,选择 “SQL Server” 并单击 完成 按钮,在出现的 建立新的数据源到 SQL Server” 对话框中的 数据源名称 项填写 “wzgl” 并选取 服务器 ,然后单击 下一步 按钮,选择 使用网络登录 ID Windows NT 验证 项目,单击 下一步 按钮,把默认的数据库改为 “mydata” ,再单击 下一步 ,单击 完成 按钮,然后可以单击 测试数据源 ,成功后,单击 确定 按钮,完成了( ODBC )数据源和驱动程序的建立。

 

 

前面和网上流传的一样。只是网上流传的源代码有些错误。做了点修正。我的表名叫做

TestTable

 

代码如下

 

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

 

public class TestJdbc{

 

       public static void main(String args[]){

              GUI gui=new GUI();

              gui.pack();

       }

}

 

class GUI extends Frame implements ActionListener{

 

       TextArea text;

       Panel panel;

       TextField sno;

       Button btn;

 

       GUI(){

              super("query result inform");

              setLayout(new BorderLayout());

              setBackground(Color.cyan);

              setVisible(true);

              text=new TextArea();

              btn=new Button("query button");

              sno=new TextField(16);

              panel=new Panel();

              panel.add(new Label("input query numbr id:"));

              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){

              //setSize(300,200);

              //            setVisible(false);

                     //     System.exit(0);

              //     }

              //}

//     }

 

       public void actionPerformed(ActionEvent e) {

              if(e.getSource()==btn)

              {

                     text.setText("result text:"+'/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 TestTable");

 

 

 

              while(rs.next()) // 输出被查询的情况

              {

                     bh=rs.getString("BillStrKey");

                     //if(bh.trim().equals(sno.getText().trim()))

                     {

                            text.append('/n'+"add: ="+bh +'/n');

                     }

              }

 

              text.append('/n'+"end"+'/n');

 

       }

}

 

编译

javac TestJdbc.java

查看结果

java TestJdbc

 

 

 

 

 

 

备注:

 

如果用IDEA开发工具的话,添加JDBC驱动步骤如下:

TOOLS--->DATA SOURCE--->JDBC DATASOURCE——> 加号图标

 

访问数据库部分的代码同上面类似。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值