Developer’s Guide
Table Of Contents
- Contents
- Chapter 1 Introducing FileMaker Developer 5
- Chapter 2 Customizing your database solution
- About the custom solution examples
- Using the FileMaker Developer Tool
- Binding your databases into a runtime database solution
- Displaying databases in Kiosk mode
- Renaming your databases
- Removing design access to your databases
- Customizing the About, Help, and Scriptsmenus
- Adding the FileMakerPro extension to database filenames
- Saving your settings in the Developer Tool
- Chapter 3 Preparing files for a custom solution
- About the Relational Example
- General steps for preparing your solutionfiles
- Issues to consider before creating a runtime database solution
- Opening files in Kiosk mode
- Design tips for navigating in Kiosk mode
- Creating startup scripts
- Using button image samples
- Documenting your database solution
- Design tips for cross-platform solutions
- Creating a consistent appearance
- Simulating outline and shadow text styles
- Using common character sets
- Designing text layouts for cross-platform solutions
- Using a common color palette
- Using graphics in cross-platform solutions
- Using QuickTime movies in cross-platform solutions
- Showing the status bar in Windows
- Using separate scripts for printing
- Using the Status (CurrentPlatform) function
- Creating platform-specific scripts
- Protecting your runtime database solutionfiles
- Testing before and after creating yoursolution
- Converting and upgrading solution files
- Chapter 4 Distributing FileMakerPro runtime database solutions
- Chapter 5 Creating custom layout themes
- Chapter 6 Publishing your database on the Web
- Moving forward using open web standards
- Using the FileMakerPro Web Companion
- Displaying a custom home page
- Using a custom home page with Instant Web Publishing
- Monitoring your site
- Exporting data to a static HTML page
- Testing your site without a networkconnection
- Opening password-protected databasesremotely
- Using the Web Security Database
- Chapter 7 Using FileMakerPro XML to deliver your data
- About the XML examples
- General process for custom web publishing using XML
- Generating an XML document
- Using the FMPDSORESULT grammar
- Using the FileMakerPro Extended XMLgrammars
- About UTF-8 encoded data
- Generating FileMakerPro CGI requests for an XML document
- Using style sheets with your XMLdocument
- Comparing CSS, XSLT, and JavaScript
- Looking at the XML Inventory example
- Chapter 8 Using Java and JDBC to deliver your data
- About the JDBC examples
- About JDBC
- Using the FileMaker JDBC Driver
- SQL supported by the FileMaker JDBCDriver
- FileMakerPro support for Unicodecharacters
- About the FileMaker JDBC Driver interfaces and extensions
- Example 1: Looking at the FileMakerPro Explorer application
- Example 2: Creating the JBuilder Inventoryapplication
- Example 3: Creating the Visual Cafe Inventory application
- Using the FileMaker Java classes
- Chapter 9 Custom web publishing using CDML
- About the CDML examples
- General steps for custom web publishing using CDML
- About CDML format files
- Generating FileMakerPro CGI requests using CDML
- Using the CDML Tool and templates
- New and modified CDML tags
- About the CDML Reference database
- Creating error messages
- Using an encoding parameter with a CDML replacement tag
- Planning your web site
- Chapter 10 Writing external function plug-ins
- About the plug-in examples and templates
- Installing, enabling, and configuring FileMakerPro plug-ins
- Using external functions in a calculation
- Requirements for writing an external function plug-in
- FileMakerPro messages sent to theplugin
- Debugging your plug-in
- Avoiding potential MacOS resourceconflicts
- Providing documentation for your plug-in
- Naming and registering your plug-ins
- Appendix A Feature comparison of the runtime application and FileMakerPro
- Appendix B Valid names used in CGI requests for FileMaker XML data
- Generating a –find, –findall, or –findany request
- Generating a –view request
- Generating a –new request
- Generating an –edit request
- Generating a –delete request
- Generating a –dbnames request
- Generating a –layoutnames request
- Generating a –scriptnames request
- Generating a –dbopen request
- Generating a –dbclose request
- Specifying parameters for the request
- db (Database)
- lay (Layout)
- format (Format)
- recid (Record ID)
- modid (Modification ID)
- lop (Logical operator)
- op (Comparison operator)
- max (Maximum records)
- skip (Skip records)
- sortfield (Sort field)
- sortorder (Sort order)
- script (Script)
- script.prefind (Script before Find)
- script.presort (Script before Sort)
- styletype (Style type)
- stylehref (Style href)
- password (Database password)
- field name (Name of specific field)
- Appendix C FileMaker Pro values for error codes
- Index
8-4
Developer’s Guide
SQL supported by the FileMaker JDBC Driver
The FileMaker JDBC Driver provides support for certain SQL statements,
a RecordID pseudo column, a ModID pseudo column, DbOpen and
DbClose pseudo procedures, character escaping, and FileMaker data type
mapping to JDBC SQL and Java data types.
The following is a list of the SQL statements and definitions that are
supported by the FileMaker JDBC Driver.
Note Items within square brackets [ ] are optional and a vertical
bar | means “or.” An ellipsis (…) indicates that the preceding part of the
statement can be repeated any number of times. Periods and a comma
(.,..) indicate that the preceding part of the statement can be repeated any
number of times with the individual occurrences separated by commas.
The final occurrence should not be followed by a comma.
To update a specific repeating field or field in a portal, add a period
and the number of the row to the end of the field name and enclose
the field name in double quotation marks. For example, to update the
third repetition of the Telephone field for a record in the
Employees.fp5 database, specify the following:
UPDATE “Employees.fp5” SET “Telephone.3”=’(555) 555-5555’ WHERE
recordid=4
Property Description
escape A string containing the characters to be escaped in table name, field
name, and layout name SQL identifiers. The driver will escape all
identifiers returned via any method in the DatabaseMetaData class.
This will allow RAD tools that don't support spaces and periods in
SQL identifiers to work with any FileMaker Pro database. The
driver will automatically escape all identifiers for you. See “Using
a character escape” on page 8-7 for more information.
fetchsize This property allows you to set the number of records that are
retrieved by the driver at any one given time. This is important for
result sets (such as a result set of 20000 records) that are too large
to retrieve all at once without causing memory constraints and
performance problems.
user The user name for the connection
password The password for the connection
SQL statement Definition
SELECT statement SELECT { { * | field_name .,.. } [ , RECORDID [ ,
MODID ] ] }
FROM database_name
[ LAYOUT layout_name ]
[ WHERE { predicate [ { { AND | OR } predicate }
... ] } ]
[ ORDER BY { field_name [ASC | DESC] } .,.. ]
Where predicate equals
{ field_name { = | <> | > | >= | < | <= | LIKE } { value
| ? } } | {field_name IS NULL} | {RECORDID =
{value | ?}}
INSERT statement INSERT INTO database_name [ LAYOUT
layout_name ] ( field_name .,.. )
VALUES ( { value | NULL | ? } .,.. )
UPDATE statement UPDATE database_name [ LAYOUT layout_name ]
SET { field_name = { value | NULL | ? } } .,..
[ WHERE { predicate [ { { AND | OR } predicate }
... ] } ]
Where predicate equals
{ field_name { = | <> | > | >= | < | <= | LIKE } { value
| ? } } | {field_name IS NULL} | {RECORDID =
{value | ?} [ AND MODID = { value | ? } ] }
DELETE statement DELETE FROM database_name
[ WHERE { predicate [ { { AND | OR } predicate }
... ] } ]
Where predicate equals
{ field_name { = | <> | > | >= | < | <= | LIKE } { value
| ? } } | {field_name IS NULL} | {RECORDID =
{value | ?} }
CALL stored
procedure (a script)
statement
{ CALL script_name ( database_name [ , { layout_name
| password } ] ) }
Where the outermost curly brackets { } are part of the
CALL statement syntax.
SQL statement Definition