home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 July / Chip_1998-07_cd.bin / zkuste / JBuilder / JBuild / jbuilder / jruntime.z / DBBean.java < prev    next >
Text File  |  1997-08-25  |  4KB  |  128 lines

  1. // This snippet creates a sample database bean
  2. // which has a grid, navigator, and status bar.
  3. // Properties for userName, password, etc are surfaced.
  4. // An entirely new dataset can also be specified.
  5.  
  6. // <File=DBBean.java>
  7.  
  8. //Title:
  9. //Version:
  10. //Copyright:
  11. //Author:
  12. //Company:
  13. //Description:
  14.  
  15.  
  16. //<PACKAGE>
  17.  
  18. import java.awt.*;
  19. import java.awt.event.*;
  20. import borland.jbcl.layout.*;
  21. import borland.jbcl.control.*;
  22. import borland.jbcl.view.*;
  23. import borland.jbcl.dataset.*;
  24. import borland.jbcl.util.BlackBox;
  25.  
  26. public class DBBean extends BeanPanel implements BlackBox {
  27.   private BorderLayout borderLayout1 = new BorderLayout();
  28.   private NavigatorControl navigatorControl1 = new NavigatorControl();
  29.   private GridControl gridControl1 = new GridControl();
  30.   private Database database1 = new Database();
  31.   private QueryDataSet queryDataSet1 = new QueryDataSet();
  32.   private StatusBar statusBar1 = new StatusBar();
  33.   private String userName = "SYSDBA";
  34.   private String password = "masterkey";
  35.   private String query = "select * from employee";
  36.   private String connectionURL = "jdbc:odbc:dataset tutorial";
  37.  
  38.   public DBBean() {
  39.     try {
  40.       jbInit();
  41.     }
  42.     catch (Exception e) {
  43.       e.printStackTrace();
  44.     }
  45.   }
  46.  
  47.   public void jbInit() throws Exception{
  48.     navigatorControl1.setDataSet(queryDataSet1);
  49.     gridControl1.setDataSet(queryDataSet1);
  50.     database1.setConnection(new borland.jbcl.dataset.ConnectionDescriptor(
  51.       connectionURL, userName, password, false, "sun.jdbc.odbc.JdbcOdbcDriver"));
  52.     queryDataSet1.setQuery(new borland.jbcl.dataset.QueryDescriptor(
  53.       database1, query, null, true, false));
  54.     statusBar1.setDataSet(queryDataSet1);
  55.     this.setLayout(borderLayout1);
  56.     this.add(navigatorControl1, BorderLayout.NORTH);
  57.     this.add(gridControl1, BorderLayout.CENTER);
  58.     this.add(statusBar1, BorderLayout.SOUTH);
  59.   }
  60.  
  61.   // Example properties
  62.  
  63.   public void setPassword(String s){
  64.     password=s;
  65.     database1.getConnection().setPassword(s);
  66.   }
  67.  
  68.   public String getPassword(){
  69.     password=database1.getConnection().getPassword();
  70.     return password;
  71.   }
  72.  
  73.   public void setUserName(String s) {
  74.     userName=s;
  75.     database1.getConnection().setUserName(s);
  76.   }
  77.  
  78.   public String getUserName() {
  79.     userName=database1.getConnection().getUserName();
  80.     return userName;
  81.   }
  82.  
  83.   //!To do: Trigger update of other prop when qds changes
  84.   public void setQueryDataSet(QueryDataSet qds) {
  85.     navigatorControl1.setDataSet(qds);
  86.     gridControl1.setDataSet(qds);
  87.     statusBar1.setDataSet(qds);
  88.     queryDataSet1 = qds;
  89.   }
  90.  
  91.   public QueryDataSet getQueryDataSet() {
  92.     return queryDataSet1;
  93.   }
  94.  
  95.   public void setQuery(String s) {
  96.     try {
  97.       query=s;
  98.       queryDataSet1.close();
  99.       queryDataSet1.setQuery(new borland.jbcl.dataset.QueryDescriptor(database1, query));
  100.       queryDataSet1.open();
  101.     }
  102.     catch (Exception e) {
  103.       e.printStackTrace();
  104.     }
  105.   }
  106.  
  107.   public String getQuery() {
  108.     query=queryDataSet1.getQueryString();
  109.     return query;
  110.   }
  111.  
  112.   public void setConnectionURL(String s) {
  113.     connectionURL=s;
  114.     database1.getConnection().setConnectionURL(s);
  115.     }
  116.   public String getConnectionURL() {
  117.     connectionURL=database1.getConnection().getConnectionURL();
  118.     return connectionURL;
  119.   }
  120.  
  121.   // Example events
  122.   public static final String EXAMPLE_EVENT = "ExampleEvent";
  123.   protected void fireExampleActionEvent() {
  124.     //Args: event source,event ID, event command
  125.     processActionEvent(new ActionEvent(this,ActionEvent.ACTION_PERFORMED, EXAMPLE_EVENT));
  126.   }
  127. }
  128.