萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> oracle教程 >> 如何使用ADO訪問Oracle數據庫存儲過程

如何使用ADO訪問Oracle數據庫存儲過程

一、關於ADO

在基於Client/Server結構的數據庫環境中,通過OLE DB接口可以存取數據,但它定義的是低層COM接口,不僅不易使用,而且不能被VB,VBA,VBScript等高級編程工具訪問。

而使用ADO則可以很容易地使VB等編程語言直接訪問數據(通過OLE DB接口)。ADO是基於面向對象方法的,其對象模型如下圖所示(略)

由上圖可見,ADO對象模型總共才包括六個對象,相對於數據訪問對象(DAO)來說簡單得多。因此實際中常常使用它來訪問數據庫。

二、ADO訪問數據庫實例

下面,我們以Oracle為例,使用VB6.0來訪問其數據庫中的存儲過程。在此例中,我們首先在Oracle數據庫上創建有兩個存儲過程,一個不帶參數,另一個帶有參數。然後,使用ADO來訪問這兩個存儲過程。步驟如下:

1. 在Oracle服務器上運行以下DDL腳本:

  DROP TABLE person;
   CREATE TABLE person
   (ssn NUMBER(9) PRIMARY KEY,
   fname VARCHAR2(15),
   lname VARCHAR2(20));
   INSERT INTO person VALUES(555662222,'Sam','Goodwin');
   INSERT INTO person VALUES(555882222,'Kent','Clark');
   INSERT INTO person VALUES(666223333,'Jane','Doe');
   COMMIT;
   /

2. 在Oracle服務器上創建包(package):

  CREATE OR REPLACE PACKAGE packperson
   AS
   TYPE tssn is TABLE of NUMBER(10)
   INDEX BY BINARY_INTEGER;
   TYPE tfname is TABLE of VARCHAR2(15)
   INDEX BY BINARY_INTEGER;
   TYPE tlname is TABLE of VARCHAR2(20)
   INDEX BY BINARY_INTEGER;
  
   PROCEDURE allperson
   (ssn OUT tssn,
   fname OUT tfname,
   lname OUT tlname);
   PROCEDURE oneperson
   (onessn IN NUMBER,
   ssn OUT tssn,
   fname OUT tfname,
   lname OUT tlname);
   END packperson;
   /

  • 共3頁:
  • 上一頁
  • 1
  • 2
  • 3
  • 下一頁
copyright © 萬盛學電腦網 all rights reserved