Skip to content

Latest commit

 

History

History
60 lines (40 loc) · 2.29 KB

File metadata and controls

60 lines (40 loc) · 2.29 KB

CI npm version

Firebird high-level native client for Node.js / TypeScript

node-firebird-driver-native is a modern (Firebird 3+ client, Node.js 18+, TypeScript) native client for Firebird based in the node-firebird-driver API.

Installation

yarn add node-firebird-driver-native

Usage example

import { createNativeClient, getDefaultLibraryFilename } from 'node-firebird-driver-native';

async function test() {
  const client = createNativeClient(getDefaultLibraryFilename());

  const attachment = await client.createDatabase('/tmp/new-db.fdb');
  const transaction = await attachment.startTransaction();

  await attachment.execute(transaction, 'create table t1 (n integer, d date)');
  await transaction.commitRetaining();

  const statement1 = await attachment.prepare(transaction, 'insert into t1 values (?, ?)');
  await statement1.execute(transaction, [1, new Date()]);
  await statement1.execute(transaction, [2, new Date()]);
  await statement1.execute(transaction, [3, new Date()]);
  await statement1.dispose();

  const resultSet = await attachment.executeQuery(transaction, 'select n, d from t1 where n <= ?', [2]);
  const rows = await resultSet.fetch();

  for (const columns of rows) console.log(`n: ${columns[0]}, d: ${columns[1]}`);

  await resultSet.close();

  await transaction.commit();
  await attachment.dropDatabase();

  await client.dispose();
}

test().then(() => console.log('Finish...'));

See more examples in packages/node-firebird-driver/src/test directory.

Donation

If this project help you reduce time to develop, you can show your appreciation with a donation.