HELP ==>Oracle Stored Procedure(PACKAGE) using ADO(VB) 
Author Message
 HELP ==>Oracle Stored Procedure(PACKAGE) using ADO(VB)

HELP ==>Oracle Stored Procedure(PACKAGE) using ADO(VB)

============ ( ORACLE ) ==========================

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;
 TYPE tkname is TABLE of VARCHAR2(20)
 INDEX BY BINARY_INTEGER;

 PROCEDURE oneperson
  (onessn IN NUMBER,
   ssn  OUT tssn,
   fname  OUT tfname,
   lname  OUT tlname);

END packperson;

CREATE OR REPLACE PACKAGE BODY packperson AS

 PROCEDURE oneperson
  (onessn IN NUMBER,
   ssn  OUT tssn,
   fname  OUT tfname,
   lname  OUT tlname)
 IS
   CURSOR person_cur IS
  SELECT ssn,fname,lname
  FROM person
  WHERE ssn = onessn;

  percount NUMBER DEFAULT 1;

 BEGIN
  FOR SINGLEPERSON IN person_cur
  LOOP
   ssn(percount) := SINGLEPERSON.ssn;
   fname(percount) := SINGLEPERSON.fname;
   lname(percount) := SINGLEPERSON.lname;
   percount := percount + 1;

  END LOOP;
 END;

END;

=========== ( VB ) ==================================

Sub Command1_Click()

    Dim mConn As ADODB.Connection
    Dim mrsSelect As ADODB.Recordset
    Dim mCmd As ADODB.Command
    Dim msSelect As String
    Dim mCmdPrm As New ADODB.Parameter
    Dim sConnect As String

    '*******************************
    '* Open a database connection. *
    '*******************************
    sConnect = "Data Source=<MY_DS>;User ID=<MY_UID>;Password=<MY_PWD>;"
    Set mCnn = New ADODB.Connection
    With mCnn
        .CommandTimeout = 10
        .CursorLocation = adUseClient
        .Provider = "MSDAORA"
        .Open sConnect
    End With

    '****************************************
    '* Create the stored procedure context. *
    '****************************************
    msSelect = "{call packperson.oneperson (?, { resultset 9,
ssn,fname,lname } ) }"
    Set mCmd = New ADODB.Command

    '*********************************
    '* Create the parameter context. *
    '*********************************
    With mCmd
        .CommandText = msSelect
        .CommandType = adCmdText
        .ActiveConnection = mCnn
        Set mCmdPrm = .CreateParameter("onessn", adInteger, adParamInput )
                                                               ^^
                                                               ||
                                                       ?????????????
       .Parameters.Append mCmdPrm
    End With

    '**********************************
    '* Dispatch the stored procedure. *
    '**********************************
    Set mrsSelect = New ADODB.Recordset
    mCmd(0) = 2
    Set mrsSelect = mCmd.Execute  <=== HELP
                                ^^^
                                |||
          error ( ... seek ... not... factor.... ) ...?????????
              **==   i can not English   ==**
    '********************
    '* Display results. *
    '********************
    MsgBox mrsSelect.Fields(1)
    mrsSelect.MoveNext

End Sub



Sun, 11 Aug 2002 03:00:00 GMT  
 
 [ 1 post ] 

 Relevant Pages 

1. HELP ==>Oracle Stored Procedure using ADO(VB)

2. oracle's stored procedure from vb using ADO

3. Unable to get Output data using VB, Ado 2.1 and Oracle Stored procedure

4. Oracle stored procedure and input arrays using ADO and VB6

5. Error calling Oracle store procedures using ADO

6. More examples of using stored procedures / stored packages

7. Recordsets Using ADO and Oracle Stored Procedures

8. Oracle stored procedures/functions using ADO

9. executing a stored procedure in oracle using ADO

10. ADO stored procedures from VC++ using ORACLE

11. Stored Procedure( Package return problems with ADO)---Need HElp

12. Help in calling JDE stored procedures from VB using ADO

 

 
Powered by phpBB® Forum Software