# Database Independent Abstraction Layer for C

## Introduction

### Description

libdbi provides application developers with a database independent abstraction layer for C. It handles the database-specific implementations for each type of database, so that you can use the same exact code with any type of database server that libdbi supports. You can initiate and use multiple database connections simultaneously, regardless of the types of database servers you are connecting to. The plugin architecture allows for new database drivers to be easily added dynamically by a third party.

### libdbi Concepts and Terminology

In this guide, the terms author and programmer are used interchangably, since the target audience is the software developer writing a driver for libdbi.

### Modifications and redistribution of libdbi

libdbi is Copyright © 2001-2002, David Parker and Mark Tobenkin.

libdbi is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

### Contact Info

Please email us with any bugs, ideas, feature requests, or questions. The libdbi website has the latest version of this documentation and the libdbi software, as well as a central database of third-party drivers.

- &www;

- David Parker david@neongoat.com

- Mark Tobenkin mark@brentwoodradio.com

## Driver Functions

### Driver Infrastructure Functions

%%dbd_register_driver %%dbd_initialize %%dbd_connect %%dbd_disconnect %%dbd_quote_string %%dbd_geterror

### Database Query Functions

%%dbd_fetch_row %%dbd_free_query %%dbd_goto_row %%dbd_list_dbs %%dbd_list_tables %%dbd_query %%dbd_select_db

### DBD Helper Functions

%%_dbd_result_create %%_dbd_result_set_numfields %%_dbd_result_add_field %%_dbd_row_allocate %%_dbd_row_finalize %%_dbd_internal_error_handler
&freedoc-license;