萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> 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){}

  }

  }

copyright © 萬盛學電腦網 all rights reserved