File : oci-thick-statement_pkg.ads


with OCI.Thick.Connection_pkg;
package OCI.Thick.Statement_pkg is
use Connection_pkg;

   type Statement is new Handle_REference with private;
  
   function Prepare(Connect : Connection; Code : String) return Statement;
   procedure Execute(Stmt : in out Statement);
   function Execute(Connect : Connection; Code : String) return Statement;
   procedure Execute(Connect : Connection; Code : String);
   function Executed(Stmt : Statement) return boolean;
   function Get_Connection(Stmt : Statement) return Connection;
   function Fetch(Stmt : Statement) return Boolean;
   function Number_Of_Columns(Stmt : Statement) return Natural;

   pragma inline(Executed,Get_Connection);
   
private
    
   use Lib;
  
   type Statement is new Handle_REference with record
      Connect : Connection;
      Executed : Boolean := False;
   end record;
   procedure Destroy(Object : in out Statement);
   
end OCI.Thick.Statement_pkg