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