ado数据库:如何使用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 _disibledevent= Nothing
  End Sub
  
  ---- 7. 运行程序。当点下cmdGetEveryone按钮时,程序调用Oracle数据库中不带参数的存储过程packperson.allperson,点下cmdGetOne按钮时调用packperson.oneperson存储过程。
Tags:  ado数据库操作 ado连接数据库 ado数据库

延伸阅读

最新评论

发表评论