Contents
Chapter 1: Introduction
Documentation conventions
Chapter 2: Understanding JBuilder database applications
Understanding JBuilder's DataExpress architecture
The Borland database-related packages
Chapter 3: Setting up JBuilder for database applications
Connecting to databases
JBuilder sample files
Note for Unix users
Setting up JDataStore
Setting up InterBase and InterClient
About InterBase and InterClient
Using InterBase and InterClient with JBuilder
Tips on using sample InterBase tables
Adding a JDBC driver to JBuilder
Creating the .library and .config files
Adding the JDBC driver to projects
Troubleshooting database connections in the tutorials
Chapter 4: Connecting to a database
Tutorial: Connecting to a database using the JDataStore
JDBC driver
Adding a Database
component to your application
Setting Database
connection properties
Tutorial: Connecting to a database using InterClient JDBC drivers
Common connection error messages
Using the Database
component in your application
Prompting for user name and password
Pooling JDBC connections
Optimizing performance of JConnectionPool
Logging output
Example:
Chapter 5: Retrieving data from a data source
When to use JDataStore vs. JDBC drivers
Overview of the DataExpress components
Tutorial: An introduction to JBuilder database applications
Creating the application structure
Adding DataExpress components to your application
Setting properties to connect the components
Creating a user interface
Connecting the DataExpress component to a UI component
Compiling, running, and debugging your application
Summary
Querying a database
Tutorial: Querying a database using the JBuilder UI
Retrieving data by querying a database
Creating the UI
Setting properties in the query dialog
Querying a database: Hints & tips
Using parameterized queries to obtain data from your database
Tutorial: Parameterizing a query
Parameterized queries: Hints & tips
Chapter 6: Using stored procedures
Tutorial: Retrieving data using stored procedures
Creating tables and procedures for the tutorial
Adding the DataSet components
Adding visual components
Stored procedures: hints & tips
Discussion of stored procedure escape sequences, SQL statements, and server-specific procedure calls
Creating tables and procedures for the tutorial manually
Stored procedures: InterBase, Oracle, and Sybase specific information
Example: using InterBase stored procedures
Example: using parameters with Oracle PL/SQL stored procedures
Using Sybase stored procedures
Browsing sample applications that use stored procedures
Writing a custom data provider
Obtaining metadata
Obtaining actual data
Chapter 7: Working with columns
Understanding Column properties and metadata
Non-metadata Column properties
Viewing column information in the Column designer
The Generate RowIterator Class button
Using the Column designer to persist metadata
Making metadata dynamic using the Column designer
Viewing column information in the JDBC Explorer
Optimizing a query
Setting column properties
Persistent columns
Combining live metadata with persistent columns
Removing persistent columns
Controlling column order in a DataSet
Chapter 8: Saving changes back to your data source
Saving changes from a QueryDataSet
Tutorial: adding a button to save changes from a QueryDataSet
Saving changes back to your data source with a stored procedure
Tutorial: Saving changes using a QueryResolver
Coding stored procedures to handle data resolution
Tutorial: saving changes with a ProcedureResolver
Example: Using InterBase stored procedures with return parameters
Resolving data from multiple tables
Considerations for the type of linkage between tables in the query
Table and column references (aliases) in a query string
Controlling the setting of the column properties
What if a table is not updateable?
How can the user specify that a table should never be updated?
Using DataSets with RMI (streamable data sets)
Example: Using streamable data sets
Using streamable DataSet methods
Customizing the default resolver logic
Understanding default resolving
Writing a custom data resolver
Chapter 9: Establishing a master-detail relationship
Defining a master-detail relationship
Fetching details
Fetching all details at once
Fetching selected detail records on demand
Editing data in master-detail data sets
Steps to creating a master-detail relationship
Tutorial: Creating a master-detail relationship
Saving changes in a master-detail relationship
Resolving master-detail data sets to a JDBC data source
Chapter 10: Importing and exporting data from a text file
Tutorial: Importing data from a text file
Adding columns to a TableDataSet in the editor
Importing formatted data from a text file
Retrieving data from a JDBC data source
Exporting data
Tutorial: Exporting data to a text file
Tutorial: Using patterns for exporting numeric, date/time, and text fields
Exporting data from a QueryDataSet to a text file
Saving changes from a TableDataSet to a SQL table
Saving changes loaded from a TextDataFile to a JDBC data source
Chapter 11: Using data modules to simplify data access
Creating a data module using the design tools
Create the data module with the wizard
Add data components to the data module
Adding business logic to the data module
Using a data module
Creating data modules using the Data Modeler
Creating queries with the Data Modeler
Generating database applications
Chapter 12: Persisting and storing data in a JDataStore
When to use a JDataStore
Using the JDataStore Explorer
JDataStore operations
Chapter 13: Filtering, sorting, and locating data
Retrieving data for the tutorials
Filtering data
Tutorial: Adding and removing filters
Sorting data
Sorting data in a JdbTable
Sorting data using the JBuilder visual design tools
Sorting data in code
Locating data
Locating data with a JdbNavField
Locating data programmatically
Locating data using a DataRow
Working with locate options
Locates that handle any data type
Column order in the DataRow and DataSet
Chapter 14: Adding functionality to database applications
Creating lookups
Tutorial: Data entry with a picklist
Removing a picklist field
Tutorial: Creating a lookup using a calculated column
Using calculated columns
Tutorial: Creating a calculated column in the designer
Aggregating data with calculated fields
Tutorial: Aggregating data with calculated fields
Setting properties in the AggDescriptor
Creating a custom aggregation event handler
Adding an Edit or Display Pattern for data formatting
Display masks
Edit masks
Using masks for importing and exporting data
Data type dependent patterns
Presenting an alternate view of the data
Ensuring data persistence
Making columns persistent
Using variant data types
Storing Java objects
Chapter 15: Creating a user interface using dbSwing components
Tutorial: Using dbSwing components to create a database application UI
Blocking editing in JdbTable
Chapter 16: Using other controls and events
Synchronizing visual components
Accessing data and model information from a UI component
Displaying status information
Building an application with a JdbStatusLabel component
Running the JdbStatusLabel application
Handling errors and exceptions
Overriding default DataSetException handling on controls
Chapter 17: Creating a distributed database application using DataSetData
Understanding the sample distributed database application (using Java RMI and DataSetData)
Setting up the sample application
Chapter 18: Database administration tasks
Exploring database tables and metadata using the JDBC Explorer
Browsing database schema objects
Setting up drivers to access remote and local databases
Executing SQL statements
Using the Explorer to view and edit table data
Using the JDBC Explorer for database administration tasks
Creating the SQL data source
Populating a SQL table with data using JBuilder
Deleting tables in JBuilder
Monitoring database connections
Understanding the JDBC Monitor user interface
Using the JDBC Monitor in a running application
Chapter 19: Sample database application
Sample international database application
Appendix A: Database FAQ
© 1997, 2000 by INPRISE Corporation, Inc.
All Rights Reserved