程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> ap plet中應用JDBC訪問數據庫

ap plet中應用JDBC訪問數據庫

編輯:更多關於編程

       ap plet是用Java語言編寫的小應用程序,它能夠嵌入在HTML中,並由WWW浏覽器來解釋執行。但是,如何在ap plet中處理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建立ap plet小程序ap plet1.java,並且如下修改其中的代碼:      import java.awt. * ;

      import java.ap plet. * ;

      import java .sql. * ;

      public class ap plet1 extends ap plet

      {

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

      }

      }

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved