Difference between revisions of "DBC CLOSEDATA"

From Lianjapedia
Jump to: navigation, search
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
==Purpose==
 
==Purpose==
 
Database event triggered by the closure of a database
 
Database event triggered by the closure of a database
 
==Syntax==
 
PROCEDURE dbc_CloseData(<expC>,<expL1>)
 
 
// Commands
 
 
ENDPROC | RETURN [<expL2>]
 
 
 
or
 
 
PROCEDURE dbc_CloseData
 
 
LPARAMETERS [<expC>,<expL1>]
 
 
// Commands
 
 
ENDPROC | RETURN [<expL2>]
 
  
 
==See Also==
 
==See Also==
[[ADATABASES()]], [[ALTER TABLE]], [[ADD TABLE]], [[ALTER INDEX]], [[BACKUP DATABASE]], [[CLOSE DATABASES]], [[CLOSE TABLES]], [[COMPILE DATABASE]], [[CREATE DATABASE]], [[CREATE TABLE]], [[CREATE INDEX]], [[CREATE VIEW]], [[DATABASE()]], [[SQL Database Events|DATABASE EVENTS]], [[DB_DATADIR]], [[DBUSED()]], [[DISPLAY DATABASE]], [[DISPLAY INDEXES]], [[DISPLAY TABLES]], [[DROP DATABASE]], [[DROP INDEX]], [[DROP TABLE]], [[GETENV()]], [[LIST DATABASE]], [[LIST INDEXES]], [[LIST TABLES]], [[OPEN DATABASE]], [[PACK DATABASE]], [[REBUILD DATABASE]], [[REINDEX DATABASE]], [[RESTORE DATABASE]], [[SET AUTOCATALOG]], [[SET EXCLUSIVE]], [[SQL USE|USE]]
+
[[ADATABASES()]], [[ALTER TABLE]], [[ADD TABLE]], [[ALTER INDEX]], [[CLOSE DATABASES]], [[CLOSE TABLES]], [[COMPILE DATABASE]], [[CREATE DATABASE]], [[CREATE TABLE]], [[CREATE INDEX]], [[CREATE VIEW]], [[DATABASE()]], [[Database Events]], [[DBUSED()]], [[DISPLAY DATABASE]], [[DISPLAY INDEXES]], [[DISPLAY TABLES]], [[DROP DATABASE]], [[DROP INDEX]], [[DROP TABLE]], [[GETENV()]], [[LIST DATABASE]], [[LIST INDEXES]], [[LIST TABLES]], [[OPEN DATABASE]], [[PACK DATABASE]], [[REBUILD DATABASE]], [[REINDEX DATABASE]], [[SET AUTOCATALOG]], [[SET EXCLUSIVE]], [[SQL USE|USE]]
  
 
==Description==
 
==Description==
The DBC_CLOSEDATA database event is triggered by the closure of a database.  The associated code is run before the database is actually closed.  Databases are closed using the CLOSE DATABASES command.
+
The DBC_CLOSEDATA database event is triggered by the closure of a database and runs dbc_closedata.prg (.dbo compiled/runtime) if it exists.  The code is run before the database is actually closed.  Databases are closed using the CLOSE DATABASES command.
  
{| class="wikitable"
+
The following parameters are passed to the dbc_closedata program:
!Event||Description
+
 
 +
{| class="wikitable" width="100%"
 +
!Parameter||Description
 
|-
 
|-
 
|<expC>||The database name
 
|<expC>||The database name
 
|-
 
|-
|<expL1>||Specifies whether the ALL keyword was included on the CLOSE DATABASES, .T. or not, .F.
+
|valign="top"|<expL1>||Specifies whether the ALL keyword was included on the CLOSE DATABASES command, .T. or not, .F.
|-
+
|<expL2>||If the dbc_closedata procedure returns .F., the database is not closed, if .T., the close operation continues
+
 
|-
 
|-
 
|}
 
|}
  
Databases in Recital are implemented as directories containing files that correspond to the tables and associated files in the database. Operating System file protection can be applied individually to the files for added security. The directories are sub-directories of the Recital data directory. The environment variable DB_DATADIR points to the current Recital data directory and can be queried using the GETENV() function. Files from other directories can be added to the database using the ADD TABLE command or via the database catalog and SET AUTOCATALOG functionality.
+
If the dbc_closedata program returns .F., the database is not closed, if .T., the close operation continues.
  
Programs associated with database events should reside in the DB_DATADIR sub-directory for the relevant database.
+
Programs associated with database events should reside in the database's directory.  These can be created and modified from the [[Database Events|Events tab in the Data Workspace]] when a database is open.
  
 
==Example==
 
==Example==
 
<code lang="recital">
 
<code lang="recital">
procedure dbc_closedata
+
// dbc_closedata.prg
 
lparameters cName, lAll
 
lparameters cName, lAll
 
close procedures
 
close procedures
Line 52: Line 34:
 
[[Category:Documentation]]
 
[[Category:Documentation]]
 
[[Category:SQL]]
 
[[Category:SQL]]
 +
[[Category:Databases]]

Latest revision as of 06:14, 17 October 2016

Purpose

Database event triggered by the closure of a database

See Also

ADATABASES(), ALTER TABLE, ADD TABLE, ALTER INDEX, CLOSE DATABASES, CLOSE TABLES, COMPILE DATABASE, CREATE DATABASE, CREATE TABLE, CREATE INDEX, CREATE VIEW, DATABASE(), Database Events, DBUSED(), DISPLAY DATABASE, DISPLAY INDEXES, DISPLAY TABLES, DROP DATABASE, DROP INDEX, DROP TABLE, GETENV(), LIST DATABASE, LIST INDEXES, LIST TABLES, OPEN DATABASE, PACK DATABASE, REBUILD DATABASE, REINDEX DATABASE, SET AUTOCATALOG, SET EXCLUSIVE, USE

Description

The DBC_CLOSEDATA database event is triggered by the closure of a database and runs dbc_closedata.prg (.dbo compiled/runtime) if it exists. The code is run before the database is actually closed. Databases are closed using the CLOSE DATABASES command.

The following parameters are passed to the dbc_closedata program:

Parameter Description
<expC> The database name
<expL1> Specifies whether the ALL keyword was included on the CLOSE DATABASES command, .T. or not, .F.

If the dbc_closedata program returns .F., the database is not closed, if .T., the close operation continues.

Programs associated with database events should reside in the database's directory. These can be created and modified from the Events tab in the Data Workspace when a database is open.

Example

// dbc_closedata.prg
lparameters cName, lAll
close procedures
return