home *** CD-ROM | disk | FTP | other *** search
- NUMBER : 2948
- PRODUCT : Delphi
- VERSION : All
- OS : Windows/Win32
- DATE : June 14, 1996
-
- TITLE : SQL: Embedded Spaces in Field/Column Names
-
- Implementing SQL with spaces or special characters in field/column names
-
- Implementing SQL statements in Delphi's TQuery component (or the
- SQL query facilities of Database Desktop, Visual dBASE or Paradox
- for Windows) requires special syntax for any columns that contain
- spaces or special characters.
-
- Using the Biolife.DB table of from Delphi's demo data to
- illustrate, and without the use of any special syntax
- requirements, a SQL Select statement might be formed as follows,
-
- SELECT
- Species No,
- Category,
- Common_Name,
- Species Name,
- Length (cm),
- Length_In,
- Notes,
- Graphic
- FROM
- BIOLIFE
-
- While appearing normal, the space in the species number and name
- columns and the column expressing length in centimeters - as well
- as the parentheses present - cause syntax errors.
-
- Two changes must be taken to correct the syntax of the above SQL
- statement. First, any columns containing spaces or special
- characters must be surrounded by single (apostrophe) or double
- quotes. Secondly, a table reference and a period must precede
- the quoted column name. This second requirement is particularly
- important since a quoted string alone is interpreted as a string
- expression to be yielded as a column value. A properly formatted
- statement follows:
-
- SELECT
- BIOLIFE."Species No",
- BIOLIFE."Category",
- BIOLIFE."Common_Name",
- BIOLIFE."Species Name",
- BIOLIFE."Length (cm)",
- BIOLIFE."Length_In",
- BIOLIFE."Notes",
- BIOLIFE."Graphic"
- FROM
- "BIOLIFE.DB" BIOLIFE
-
- The above example uses the table alias BIOLIFE as the table
- reference that precedes the column name. This reference may take
- the form of an alias name, the actual table name, or a quoted
- file name when using dBASE or Paradox tables. The following
- SQL statements would serve equally well.
-
- Note: This SQL statement may be used provided that the necessary
- alias is already opened. In the case of the TQuery this means the
- alias is specified in the DatabaseName property.
-
- SELECT
- BIOLIFE."Species No",
- BIOLIFE.Category,
- BIOLIFE.Common_Name,
- BIOLIFE."Species Name",
- BIOLIFE."Length (cm)",
- BIOLIFE.Length_In,
- BIOLIFE.Notes,
- BIOLIFE.Graphic
- FROM
- BIOLIFE
-
- If an alias is not available then the entire path to the table
- can be specified as in this example:
-
- SELECT
- "C:\DELPHI\DEMOS\DATA\BIOLIFE.DB"."Species No",
- "C:\DELPHI\DEMOS\DATA\BIOLIFE.DB"."Category",
- "C:\DELPHI\DEMOS\DATA\BIOLIFE.DB"."Common_Name",
- "C:\DELPHI\DEMOS\DATA\BIOLIFE.DB"."Species Name",
- "C:\DELPHI\DEMOS\DATA\BIOLIFE.DB"."Length (cm)",
- "C:\DELPHI\DEMOS\DATA\BIOLIFE.DB"."Length_In",
- "C:\DELPHI\DEMOS\DATA\BIOLIFE.DB"."Notes",
- "C:\DELPHI\DEMOS\DATA\BIOLIFE.DB"."Graphic"
- FROM
- "C:\DELPHI\DEMOS\DATA\BIOLIFE.DB"
-
- Finally, two facilities that automatically handle this special
- formatting exist. The first is the Visual Query Builder that is
- a part of the Client/Server version of Delphi. The Visual Query
- Builder performs this formatting automatically as the query is built.
- The other facility is Database Desktop's Show SQL feature, available
- when creating or modifying a QBE-type query. After selecting
- Query|Show SQL from the main menu, the displayed SQL text may be
- cut and pasted where needed.
-
-
- DISCLAIMER: You have the right to use this technical information
- subject to the terms of the No-Nonsense License Statement that
- you received with the Borland product to which this information
- pertains.
-