HALLOGRAM PUBLISHING
SHOPPING CARTSITE MAPCONTACT USPRODUCTS
HOMEBARCODESDEVELOPER TOOLSUSER TOOLSTRAINING
FiveDB

Get the Fully Object-Oriented Class Library for Clipper!

fivedbbox.gif

FiveDB is a fully object-oriented class Library that enhances Clipper's functionality towards a real Database Management system. It provides a layer between your Applications business Logic and all Database activities, so instead of hassling around with networking problems, index creation, relations and filters you can let FiveDB take over all those tasks for you.

With FiveDB, you can:

  • Create a data Dictionary that describes the structure of your database, index files and relations. Files are automatically opened, created and updated on the fly and checked for integrity.
  • Automatic networking capabilities: records and tables are locked and unlocked when necessary.
  • Use dbServer Objects to access and manipulate your data. This Server objects mirror the dynamic state of a database and control the active index, record position, relations, filter, scopes and field contents.
  • Forget the Deleted Records problem, FiveDB automatically handles that for you.
  • Switch RDD's with just one command. DBFNTX, DBFCDX, COMIX, DBFNSX, ADSNTX and ADSCDX are all supported.
  • Use Scopes, Transactions, Queries, virtual Fields.
  • Step into the World of 32 Bits: A FiveDB++ Version for Alaska's Xbase++ is planned.

Features

SQL-ALIKE DEFINITION LANGUAGE
FiveDB uses a definition language, which enables you to describe the structure of your databases, index files and relations. According to this information, Tables and Indices are automatically created, opened, and checked for integrity.

AUTOMATIC TABLE UPDATE
Table structures and Index keys are checked against their Definition, and all changes in the later will be automatically done to the underlying table or index tag without loosing your data. All changes are documented to a . LOG file.

AUTOMATIC NETWORK CAPABILITIES
Automatic networking capabilities: records / dbf-files are locked and unlocked only when needed, thus enhancing network performance. Since dbServer buffers all fields by default, a record lock is only applied for a very short time. If collisions with other users unexpectedly occur, processing may be cancelled, retried or repeated, without loosing any data: Before changing any record physically, a dbServer will check to see if others have changed the record since last reading it. Networking capabilities can be switched on or off anytime.

DBSERVER ACCESS
The heart of FiveDB is the dbServer-Class, which lets you access the database underneath. Since this part is really very time-critical, nearly all methods have been coded in C++ and Assembler. A dbServer-Object mirrors the dynamic state of a database: active index, record position, relations, filter, scopes and field contents. As many dbServer objects as needed may be created for one database, while the database behaves as if it were opened in it's own workarea for each server object. The benefit of this is a very easy-to-implement event-oriented way of programming, where the user can switch between several states of a database. Each dbServer-Class object represents the database and owns an instance variable for each field. There is no more need for the well-known Scatter/Gather functions which you normally use to read, edit and write fields. Field contents are refreshed after each repositioning in the database.

AUTOMATIC RELATION-HANDLING
Relations, besides index creation and management, maybe the most important task of a dbServer. FiveDB uses its own implementation of Relations to make them very fast and reliable. You can define Relations in your Data-Dictionary, or establish them at runtime. You can specify how a related (Child) database reacts if a key expression in the main (Parent) database is changed, or if a DELETE should spawn all children. Example: You delete a customer record from your database. At the same time, the related record from Customer_Conditions should be deleted, BUT NOT the invoices (which are related, too) of that customer. Since there would be no customer record for those invoices, we could erase the key expressions to keep the relations integrity.

AUTOMATIC OEM<->ANSI CONVERSION
All Strings can be converted from OEM to ANSI and vice versa, so you can use databases both from Windows and from DOS.

AUTOMATIC INDEX-HANDLING
dbServer's index management automatically creates index expressions from the defined fields, while converting all keys to string format. Thus, a multi field index may contain string, numeric, logical and date type fields. Indexes are, of course, automatically opened and created when needed. The built-in progress-indicator can be replaced by your own code.

RECYCLING OF DELETED RECORDS
Automatic recycling of deleted records, so there is no need to PACK the Table. Deleted records are 'invisible' until a new record is needed. Instead of appending a new record, the old one is recalled and filled with new data.

EVENT-DRIVEN
Event-Management: APPEND/DELETE/UPDATE/ISEOF/WASEOF/ISBOF/WASBOF/MOVE actions result in events, which are sent to a registered window and thus to every receiver interested. Vice versa, a window might receive event messages from other servers and manage it's own server, depending on those messages. To reduce message posting to a minimum, messages can be filtered. On top of it, Table and dbServer objects have several Eventslots for codeblocks, that are evaluated when certain Actions take place.

INCREMENTAL FIELDS
Incremental fields search for the highest value of a numeric field in a database and will return the value+1 when APPENDing. This, for example, is very useful for Invoice numbers, IDs and such ...

VIRTUAL FIELDS
Virtual fields are 'pseudo fields', defined like a normal field, but containing a CodeBlock, which will be evaluated when the field is being accessed. Very handy to calculate a tax field, for example.

QUERRY OPTIMIZER
Query optimizers such as Clipmore and Mach6 are supported.

SCOPES
FiveDB's dbServer can set a Scope on a Fieldvalue to quickly limit a specified range of records. This is much faster and leaner than using a Filter, specially for Browsers etc.

TRANSACTION TRACKING
A Net-independent TRANSACTION TRACKING SYSTEM gives you the chance to "roll-back" a complete transaction of any kind (DELETE/APPEND/...) on the database, if a transaction was not successful

STRINGRESOURCES
FiveDB.dll/.rc/.res contains all strings as resource, which makes it easy for you to translate the messages to foreign languages. You may also use FiveDB.dll for your own resources, just use your Resource Editor and bind them to the DLL. The Instance-Handle of the DLL is automatically stored in the class variable _DBF():DLLHND, and you can define the DLL as your default Resource DLL with SET RESOURCES TO _dbf():dllhnd.

CARGO VARS- and METHODS
FiveDB lets you define your own InstanceVars and Methods for every dbServer Class. This way you can add your Business logic directly to a dbServer class.

SOURCE CODE
FiveDB comes with complete Clipper Source Code, and most C++ Sources. This gives you the opportunity to fully understand what's going on in FiveDB, change and extend its behaviour, and learn from the code.


System Requirements:

  • 386 or faster processor, Windows 3.11, Windows 95/98 or Windows NT 4.0
  • Clipper 5.2 or 5.3, and FiveWin/Vampire 1.92 or higher

FiveDB is "electronically delivered" only

FiveDB....$240


Home || Shopping Cart || Site Map || Newsletter/Blog
Search HALLoGRAM || Request More Information
CALL TOLL FREE 1-866-340-3404

SEARCH
14,500+ PRODUCTS:

Order FiveDB

SIMILAR PRODUCTS
  • Database Tools

  • OTHER PRODUCTS
  • Sound & Vision

  • PRODUCTS FOR
  • MS-Access
  • ActiveX/OCX Controls
  • C/C++
  • Clipper
  • dBASE
  • Delphi
  • FoxPro/VFP
  • Java
  • Macintosh
  • Oracle
  • Paradox
  • PowerBuilder
  • Visual Basic
  • Visual Objects

  • Keystone Training Videos

  • Copyright ©2002 HALLoGRAM Publishing, Aurora CO. All Rights Reserved
    All products mentioned in this site are trademarks of their respective owners
    Prices are subject to change without notice
    caksgkim