⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ordertrackerdatamodule.java

📁 java在线商店的源代码。编写十分规范的哦
💻 JAVA
字号:
/**
 * Copyright (c) 1996-2004 Borland Software Corporation.  All Rights Reserved.
 * 
 * This SOURCE CODE FILE, which has been provided by Borland Software as part
 * of a Borland Software product for use ONLY by licensed users of the product,
 * includes CONFIDENTIAL and PROPRIETARY information of Borland Software.  
 *
 * USE OF THIS SOFTWARE IS GOVERNED BY THE TERMS AND CONDITIONS 
 * OF THE LICENSE STATEMENT AND LIMITED WARRANTY FURNISHED WITH
 * THE PRODUCT.
 *
 * IN PARTICULAR, YOU WILL INDEMNIFY AND HOLD BORLAND SOFTWARE, ITS
 * RELATED COMPANIES AND ITS SUPPLIERS, HARMLESS FROM AND AGAINST ANY
 * CLAIMS OR LIABILITIES ARISING OUT OF THE USE, REPRODUCTION, OR
 * DISTRIBUTION OF YOUR PROGRAMS, INCLUDING ANY CLAIMS OR LIABILITIES
 * ARISING OUT OF OR RESULTING FROM THE USE, MODIFICATION, OR
 * DISTRIBUTION OF PROGRAMS OR FILES CREATED FROM, BASED ON, AND/OR
 * DERIVED FROM THIS SOURCE CODE FILE.
 */
//------------------------------------------------------------------------------
// Copyright (c) 1996-2004 Borland Software Corporation.  All Rights Reserved.
//------------------------------------------------------------------------------

package com.borland.samples.ordertracker;

import java.io.*;
import java.util.*;
import java.net.*;

import com.borland.dx.dataset.*;
import com.borland.dx.sql.dataset.*;

/**
 * OrderTrackDataModule is the DataModule class for the Applet.  It contains
 * database connectivity parameters, query parameters, and instances of the
 * QueryDataSets and ParameterRow used by the Applet.
 */
public class OrderTrackerDataModule implements DataModule{
  private static OrderTrackerDataModule myDM;

  Database cliffhangerDB = new Database();
  QueryDataSet qdsPOrders = new QueryDataSet();
  ParameterRow pRow = new ParameterRow();

  Column amountColumn = new Column();
  Column orderDateColumn = new Column();
  Column shipDateColumn = new Column();
  Column statusColumn = new Column();
  ResourceBundle res = Res.getBundle("com.borland.samples.ordertracker.Res");

  public OrderTrackerDataModule() {
    try {
      jbInit();
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }

  private void jbInit() throws Exception{
    // Initialize database connection
    cliffhangerDB.setConnection(new com.borland.dx.sql.dataset.ConnectionDescriptor(OrderTrackerDataModule.getInterBaseURL("OnlineStore", "cliffhanger.gdb"), "SYSDBA", "masterkey", false, "interbase.interclient.Driver"));

    // Add a parameter on the field "ORDERTRACKNUM" to the row to take advantage of
    // of the parameterized query
    pRow.addColumn("ORDERTRACKNUM", com.borland.dx.dataset.Variant.STRING);

    amountColumn.setColumnName("AMTPAID");
    amountColumn.setCurrency(true);
    amountColumn.setDataType(com.borland.dx.dataset.Variant.DOUBLE);

    orderDateColumn.setColumnName("ORDERDATE");
    orderDateColumn.setDataType(com.borland.dx.dataset.Variant.DATE);
    orderDateColumn.setDisplayMask(res.getString("MM_dd_yyyy"));

    shipDateColumn.setColumnName("SHIPDATE");
    shipDateColumn.setDataType(com.borland.dx.dataset.Variant.DATE);
    shipDateColumn.setDisplayMask(res.getString("MM_dd_yyyy"));

    statusColumn.setColumnName("STATUS");
    statusColumn.setDataType(com.borland.dx.dataset.Variant.STRING);

    // Associate the columns with the dataset
    qdsPOrders.setColumns(new Column[] {amountColumn,
                                        orderDateColumn,
                                        shipDateColumn,
                                        statusColumn});

    /**  Define a parameterized query for use by the Applet.  The parameter "ORDERTRACKNUM"
     * will be used to match the user-input to the "ordertracknum" column in the
     * database.
     */
    qdsPOrders.setQuery(new com.borland.dx.sql.dataset.QueryDescriptor(cliffhangerDB, "select * from orders where ordertracknum = :ORDERTRACKNUM", pRow, true, Load.ALL));
    qdsPOrders.setReadOnly(true);
    qdsPOrders.setEditable(false);
  }

  static public OrderTrackerDataModule getDataModule() {
    if (myDM == null)
      myDM = new OrderTrackerDataModule();
    return myDM;
  }

  public void dbConnect() throws DataSetException {
    // This method explicitly opens a connection to the database.
    cliffhangerDB.openConnection();
  }

  public com.borland.dx.sql.dataset.QueryDataSet getOrdersDataSet() {
    return qdsPOrders;
  }

  public com.borland.dx.dataset.ParameterRow getOrderNumParameterRow() {
    return pRow;
  }

  /**
     * The following method (not described in the tutorial) is used to dynamically
     * locate the database used by this sample, since the absolute location of the
     * database varies depending upon where the sample is installed. A database
     * for a non-sample application would normally be in a static location, and
     * this would not be necessary.
     *
     * @param sampleDirRoot String
     * @param fileName String
     * @return String
     */
    public static String getInterBaseURL(String sampleDirRoot, String fileName) {

      String url = null;

      try {
        File file = new File(OrderTrackerDataModule.class.getResource("OrderTrackerDataModule.class").
                             getFile());
        File parentDir = file.getParentFile();

        do {
          parentDir = parentDir.getParentFile();
        } while (!parentDir.getName().equals(sampleDirRoot));

        String path = parentDir.getParent();

        url = "jdbc:interbase://localhost/" + URLDecoder.decode(path, "UTF-8") +
            "/OnlineStore/database/" + fileName;
        System.out.println(
            "OrderTrackerDataModule.getInterBaseURL() using this URL to connect to " + fileName +
            ": " + url);
      } catch (UnsupportedEncodingException uex) {
        uex.printStackTrace();
      }
      return url;
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -