Products Downloads Library Enhancement Log  PTF's  BUY NOW! Distributors   Prices   Contact Us




BDS ISAM DB® is a simple, powerful file system for developers, allowing you to easily include a full file management system along with your applications. It is designed for situations where you need more than basic file stream functionality, but don't want the headaches or expense of installing and maintaining a full relational database with your application. BDS ISAM DB provides the following features:

  • Complete disk file support
  • Ease of UseDownload
    • Installation
    • Programming
    • Deployment
  • File System Features: Example BDSISAM DB
    • Access Methods
      • Sequential
      • Indexed
      • Relative Record Number
    • Automatic Space Management
      • Reuse Deleted Records
      • Maximum Records
    • Data Structure
      • DataRow interface
      • Data Types
        • Int16, Int32, Int64
        • String
        • Byte, ByteArray
        • Decimal
        • DateTime
        • Boolean
      • Null values option
    • Indexing
      • Multiple Indices
      • Multiple Fields
      • Ascending or Descending
      • Duplicate Keys Option
      • String Compare Opt (Bin or Str)
      • Auto-balancing
    • File and Record Locking
      • File Access and File Share Options
      • Locks and Lock Messages
      • Adjustable wait times
    • Status Information
      • Boolean Indicators: OK, End of File, Not Found, Duplicate Key and Others
      • Error Number and String
      • Relative Record Number
    • File Maintenance Utility
      • Retrieve a Record
      • Change or Delete a Record
      • List Records
      • Sequential, Keyed or RRN access
    • Version Management
      • Application Version
      • Data and Software Versions
    • Data Encryption
      • Application Data
      • Industry Standard AES, 256 bit

Complete Disk File Support

The BDS ISAM DB software is a complete file system, containing all basic file needs. The developer can concentrate on the application needs, knowing the application data is managed by the BDS ISAM DB software.

Ease of Use

The BDS ISAM DB software greatly simplifies the following areas:

Installation: A one-step installation. Installs the BDS ISAM DB software onto your development system.

Programming: Simply add a reference to the BDS ISAM DB dll in you applications and all of the BDS ISAM DB functions are available to it.

Deployment: Simply include the BDS ISAM DB dll with your applications to deploy them to other systems. No separate manager or install procedure is needed.

File System Features

Access Methods

Data in BDS ISAM files can be retrieved in the following methods:

Sequential: Records are retrieved in sequence. The following sequences are supported:

  • Arrival sequence. The order the records were added to the file defines the order they are retrieved.
  • Keyed sequence. The Index description defines the sort order, and the next record is retrieved based on the record key.

The commands allow next or previous processing. For example GetNextKey retrieves the next record based on the key, and GetPrevKey retrieves the previous.

Indexed: A key is specified, and the record is returned if a matching key exists in the file. If not found, the NotFound condition is raised.

Relative Record Number: A record number is specified, and the record is returned if it exists in the file.

Automatic Space Management

Disk space will be efficiently managed by BDS ISAM DB. The application does not need to be concerned with managing file sizes and deleted records.

Reuse Deleted Records: Space freed up by record deletion will be reused when other records are added, eliminating the need for time-consuming reorganizations.

Maximum Records: The user can optionally set the maximum number of records allowed in a BDS ISAM DB file, preventing an application program from accidentally filling up the disk space.

Data Structure

Data in BDS ISAM files is passed between the application and the BDS ISAM file through a DataRow object.

Data Types: The following data types are supported:

  • Integer (Int16, Int32, and Int64).
  • String.
  • Byte and ByteArray.
  • Decimal.
  • DateTime.
  • Boolean.

Each field can be defined as allowing a null value.


Optionally, one or more Indices can be defined. An Index allows data to be ordered in a certain way when processed sequentially (i.e. FirstName within LastName, ascending), and allows for fast random access (i.e. retrieve Doe, John). Indexes can have the following:

Multiple Fields: One or more fields can make up the index. For example, the fields CustomerNum, OrderNum, and LineNum can be specified as the Index Fields.

Ascending or Descending: Each field within the index can be specified as ascending or descending. The next or previous record retrieved is based on this value.

Duplicate Keys: Each defined Index has the option of allowing duplicate keys. If a record addition or rewrite is attempted that would cause a duplicate key in an index that is defined as not allowing duplicate keys, a DupKey Status condition is raised and the record is not added or rewritten.

Automatic Balancing: As records are added and removed from a BDS ISAM file, all index definitions are checked and automatically balanced to maintain optimum efficiency.

File and Record Locking

To allow multiple users to access the file without causing file data integrity problems, file and record locking is supported.

File Access and Sharing: File access can be defined as Read only or Read and Write. File Sharing can be defined as None, Read only or Read and Write.

Locks and Lock Messages: Optionally, a lock can be placed on a retrieved record. This insures that no other session changes the locked data while you are processing it.

Adjustable Wait Times: Optionally, a maximum wait time can be placed on read/lock requests. The wait time value can be immediate, infinite, or a specified elapsed time (i.e. 3000 milliseconds).

Status Information

Easy-to-use status information is returned after each BDS ISAM operation. This allows the application to easily determine the outcome of the previous operation.

Boolean Indicators: After each operation, either the OK condition is set to True, or one of the other conditions is set:

  • DupKey
  • EOF
  • MiscErr
  • NoRecRead
  • NotFound
  • PosLost
  • NotSet
  • ResourceLocked

ErrNum and ErrStr: If the OK condition is False, in addition to another condition indicator being set to True, the ErrNum and ErrStr values will be set.

RRN: The record number will be set after a successful retrieve operation.

DupKeyIdx: If the DupKey condition is set, the index(s) causing the condition will be reported.

File Maintenance Utility

A simple, powerful file maintenance utility, EditData, is provided. Using the EditData method the developer can write a quick program to allow basic file maintenance operations on the BDS ISAM file. This utility is intended to assist the developer during application design/testing or to perform quick file trouble-shooting/fixes after deployment. The following Windows Forms are generated:

Retrieve a Record: A record can be retrieved by specifying values for each of its key fields. Buttons are also provided to retrieve the First/Next/Prev/Last record by key or arrival sequence, or by RRN.

Change or Delete a Record: Optionally, a retrieved record can be changed or deleted.

List Records: A list of records can be displayed. The user can double-click a listed record to select it for display.

Version Management

BDS ISAM files support versions, which can assist the administrator in Change Management tasks. Large or multiple applications containing many files can be easily tracked, preventing file/application level mismatches.

Data Encryption

Data written to BDS ISAM files support optionally can be encrypted. This prevents other applications that gain access to the hard disk from seeing or changing BDS ISAM file data. A strong, industry standard AES 256 bit algorithm is used.

Feature Comparison

Click here to compare the edition's features.


64 East Main St. ■ Lexington, Ohio 44904
Phone:  419-884-1844