📄 ordertrackerdatamodule.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 + -