home *** CD-ROM | disk | FTP | other *** search
/ Java 1.2 How-To / JavaHowTo.iso / 3rdParty / jbuilder / TRIAL / JBUILDER / JSAMPLES.Z / StoredProcedureDM.java < prev    next >
Encoding:
Java Source  |  1998-05-08  |  7.0 KB  |  167 lines

  1. /*
  2.  * Copyright (c) 1997-1998 Borland International, Inc. All Rights Reserved.
  3.  * 
  4.  * This SOURCE CODE FILE, which has been provided by Borland as part
  5.  * of a Borland product for use ONLY by licensed users of the product,
  6.  * includes CONFIDENTIAL and PROPRIETARY information of Borland.  
  7.  *
  8.  * USE OF THIS SOFTWARE IS GOVERNED BY THE TERMS AND CONDITIONS 
  9.  * OF THE LICENSE STATEMENT AND LIMITED WARRANTY FURNISHED WITH
  10.  * THE PRODUCT.
  11.  *
  12.  * IN PARTICULAR, YOU WILL INDEMNIFY AND HOLD BORLAND, ITS RELATED
  13.  * COMPANIES AND ITS SUPPLIERS, HARMLESS FROM AND AGAINST ANY CLAIMS
  14.  * OR LIABILITIES ARISING OUT OF THE USE, REPRODUCTION, OR DISTRIBUTION
  15.  * OF YOUR PROGRAMS, INCLUDING ANY CLAIMS OR LIABILITIES ARISING OUT OF
  16.  * OR RESULTING FROM THE USE, MODIFICATION, OR DISTRIBUTION OF PROGRAMS
  17.  * OR FILES CREATED FROM, BASED ON, AND/OR DERIVED FROM THIS SOURCE
  18.  * CODE FILE.
  19.  */
  20.  
  21. //Title:        Stored Procedure Sample
  22. //Version:      2.0
  23. //Copyright:    Copyright (c) 1998
  24. //Company:      Borland Int'l
  25. //Description:  DataModule with ProcedureDataSet and ProcedureResolver
  26.  
  27.  
  28. package borland.samples.tutorial.dataset.storedprocedure;
  29.  
  30. import java.awt.*;
  31. import java.awt.event.*;
  32. import borland.jbcl.layout.*;
  33. import borland.jbcl.control.*;
  34. import borland.jbcl.dataset.*;
  35. import borland.sql.dataset.*;
  36.  
  37. public class StoredProcedureDM implements DataModule{
  38.   private static StoredProcedureDM myDM;
  39.   Database currentDatabase = new Database();
  40.   QueryDataSet masterQDS = new QueryDataSet();
  41.   ProcedureDataSet detailPDS = new ProcedureDataSet();
  42.   ProcedureResolver detailPR = new ProcedureResolver();
  43.   Column column1 = new Column();
  44.  
  45.  
  46. // InterBase via Visigenic ODBC:
  47.   final String  url         = "jdbc:odbc:dataset tutorial";
  48.   final String  driver      = "sun.jdbc.odbc.JdbcOdbcDriver";
  49.   final String  ddlFile     = "sqlInterbase.sql";
  50.   final String  ddlDropFile = "sqlDrop.sql";
  51.   final boolean acceptCR    = true;
  52.   final boolean semiColon   = false;       
  53.   final String  username    = "sysdba";
  54.   final String  password    = "masterkey";
  55.   final String  masterQuery = "select * from SAMPLEDEPT";
  56.   final String  callProvide = "select * from SAMPLEEMPINFO(:DEPTID)";
  57.   final String  callInsert  = "execute procedure SAMPLEINSEMP :EMPID, :FNAME, :LNAME, :DHIRE, :SALARY, :PARAMETER.DEPTID";
  58.   final String  callUpdate  = "execute procedure SAMPLEUPDEMP :ORIGINAL.EMPID, :EMPID, :FNAME, :LNAME, :DHIRE, :SALARY, :DEPTID";
  59.   final String  callDelete  = "execute procedure SAMPLEDELEMP :EMPID";
  60.  
  61. /*  
  62. // InterBase via InterClient:
  63.   final String  url         = "jdbc:interbase://LOCALHOST/c:/Program Files/Borland/IntrBase/Examples/employee.gdb";
  64.   final String  driver      = "interbase.interclient.Driver";
  65.   final String  ddlFile     = "sqlInterbase.sql";
  66.   final String  ddlDropFile = "sqlDrop.sql";
  67.   final boolean acceptCR    = true;
  68.   final boolean semiColon   = false;       
  69.   final String  username    = "sysdba";
  70.   final String  password    = "masterkey";
  71.   final String  masterQuery = "select * from SAMPLEDEPT";
  72.   final String  callProvide = "select * from SAMPLEEMPINFO(:DEPTID)";
  73.   final String  callInsert  = "execute procedure SAMPLEINSEMP :EMPID, :FNAME, :LNAME, :DHIRE, :SALARY, :PARAMETER.DEPTID";
  74.   final String  callUpdate  = "execute procedure SAMPLEUPDEMP :ORIGINAL.EMPID, :EMPID, :FNAME, :LNAME, :DHIRE, :SALARY, :DEPTID";
  75.   final String  callDelete  = "execute procedure SAMPLEDELEMP :EMPID";
  76.  
  77. /*
  78. // Oracle via Oracle JDBC:
  79.   final String  url         = "jdbc:oracle:thin:@ipgora:1526:ORCL";
  80.   final String  driver      = "oracle.jdbc.driver.OracleDriver";
  81.   final String  ddlFile     = "sqlOracle.sql";
  82.   final String  ddlDropFile = "sqlDrop.sql";
  83.   final boolean acceptCR    = false;
  84.   final boolean semiColon   = true;       
  85.   final String  username    = "scott";
  86.   final String  password    = "tiger";
  87.   final String  masterQuery = "select * from SAMPLEDEPT";
  88.   final String  callProvide = "{?=call SAMPLEEMPINFO(:DEPTID)}";
  89.   final String  callInsert  = "{call SAMPLEINSEMP(:EMPID, :FNAME, :LNAME, :HIREDATE, :SALARY, :PARAMETER.DEPTID)}";
  90.   final String  callUpdate  = "{call SAMPLEUPDEMP(:ORIGINAL.EMPID, :EMPID, :FNAME, :LNAME, :HIREDATE, :SALARY, :DEPTID)}";
  91.   final String  callDelete  = "{call SAMPLEDELEMP(:EMPID)}";
  92. */
  93. /*                                   
  94. // Sybase via JConnect:
  95.   final String  url         = "jdbc:sybase:Tds:ipgsyb:2025";
  96.   final String  driver      = "com.sybase.jdbc.SybDriver";
  97.   final String  ddlFile     = "sqlSybase.sql";
  98.   final String  ddlDropFile = "sqlDrop.sql";
  99.   final boolean acceptCR    = true;
  100.   final boolean semiColon   = false;       
  101.   final String  username    = "sa";
  102.   final String  password    = "";
  103.   final String  masterQuery = "select * from SAMPLEDEPT";
  104.   final String  callProvide = "{call SAMPLEEMPINFO(:DEPTID)}";
  105.   final String  callInsert  = "{call SAMPLEINSEMP(:EMPID, :FNAME, :LNAME, :HIREDATE, :SALARY, :PARAMETER.DEPTID)}";
  106.   final String  callUpdate  = "{call SAMPLEUPDEMP(:ORIGINAL.EMPID, :EMPID, :FNAME, :LNAME, :HIREDATE, :SALARY, :DEPTID)}";
  107.   final String  callDelete  = "{call SAMPLEDELEMP(:EMPID)}";
  108. */                                   
  109.  
  110.   public StoredProcedureDM() {
  111.     try {
  112.       jbInit();
  113.     }
  114.     catch (Exception e) {
  115.       e.printStackTrace();
  116.     }
  117.   }
  118.  
  119.   private void jbInit() throws Exception{
  120.     currentDatabase.setConnection(new borland.sql.dataset.ConnectionDescriptor(url, username, password, false, driver));
  121.     masterQDS.setQuery(new borland.sql.dataset.QueryDescriptor(currentDatabase, masterQuery, null, true, Load.ALL));
  122.     column1.setColumnName("EMPID");
  123.     column1.setRowId(true);
  124.     detailPDS.setProcedure(new borland.sql.dataset.ProcedureDescriptor(currentDatabase, callProvide, masterQDS, true, Load.ALL));
  125.     detailPDS.setResolver(detailPR);
  126.     detailPDS.setColumns(new Column[] {column1});
  127.     detailPR.setDatabase(currentDatabase);
  128.     detailPR.setInsertProcedure(new borland.sql.dataset.ProcedureDescriptor(currentDatabase, callInsert, masterQDS, true, Load.ALL));
  129.     detailPR.setUpdateProcedure(new borland.sql.dataset.ProcedureDescriptor(currentDatabase, callUpdate, masterQDS, true, Load.ALL));
  130.     detailPR.setDeleteProcedure(new borland.sql.dataset.ProcedureDescriptor(currentDatabase, callDelete, null, true, Load.ALL));
  131.   }
  132.    
  133.   public static StoredProcedureDM getDataModule() {
  134. //    return new StoredProcedureDM();
  135.     if (myDM == null)
  136.       myDM = new StoredProcedureDM();
  137.     return myDM;
  138.   }
  139.  
  140.   public boolean isAcceptCR() {
  141.     return acceptCR;
  142.   }
  143.  
  144.   public boolean isKeepSemiColon() {
  145.     return semiColon;
  146.   }
  147.   public String getDDLquery() {
  148.     return ddlFile;
  149.   }
  150.  
  151.   public String getDropDDLquery() {
  152.     return ddlDropFile;
  153.   }
  154.  
  155.   public borland.sql.dataset.Database getCurrentDatabase() {
  156.     return currentDatabase;
  157.   }
  158.  
  159.   public borland.sql.dataset.ProcedureDataSet getDetailPDS() {
  160.     return detailPDS;
  161.   }
  162.  
  163.   public borland.sql.dataset.QueryDataSet getMasterQDS() {
  164.     return masterQDS;
  165.   }
  166. }
  167.