📜  node js firebird 示例 - Javascript (1)

📅  最后修改于: 2023-12-03 15:17:53.454000             🧑  作者: Mango

Node.js Firebird 示例 - JavaScript

本文将介绍如何使用 Node.js 操作 Firebird 数据库,并提供一些基本示例。Firebird 是一个开源的关系型数据库,支持多种操作系统(包括 Windows、Linux 和 MacOS)。

安装 Node.js 和 Firebird

首先,需要在本地安装 Node.js 和 Firebird 客户端。

  • Node.js 官网:https://nodejs.org/
  • Firebird 官网:https://www.firebirdsql.org/en/firebird-3-0/

在安装 Firebird 客户端时,需要选择对应的操作系统和架构。在 Windows 上,可以选择使用 Firebird Embedded Server 或 Firebird Server。

安装 Node.js 模块

在 Node.js 中,可以使用 node-firebird 模块来操作 Firebird 数据库。可以使用以下命令安装该模块:

npm install node-firebird
建立连接

下面是一个简单的 Node.js 脚本,可以用来连接到 Firebird 数据库:

const firebird = require('node-firebird');

const options = {
  host: 'localhost',
  port: 3050,
  database: 'mydatabase.fdb',
  user: 'SYSDBA',
  password: 'mysecretpassword',
};

firebird.attach(options, function(err, db) {
  if (err) {
    console.error(err);
  } else {
    console.log('Connected to database');
    
    db.detach(function() {
      console.log('Disconnected from database');
    });
  }
});

该脚本使用 node-firebird 模块中的 attach 方法来连接到指定的 Firebird 数据库。需要提供以下选项:

  • host: 数据库服务器的主机名或 IP 地址
  • port: 数据库服务器的端口号
  • database: 数据库文件的文件名或路径
  • user: 数据库用户的用户名
  • password: 数据库用户的密码

如果连接成功,将会输出 Connected to database;如果连接失败,将会输出错误信息。最后,需要使用 detach 方法来断开与数据库的连接。

执行查询

下面是一个简单的 Node.js 脚本,可以用来查询 Firebird 数据库中的数据:

const firebird = require('node-firebird');

const options = {
  host: 'localhost',
  port: 3050,
  database: 'mydatabase.fdb',
  user: 'SYSDBA',
  password: 'mysecretpassword',
};

firebird.attach(options, function(err, db) {
  if (err) {
    console.error(err);
  } else {
    console.log('Connected to database');
    
    const sql = 'SELECT * FROM mytable';
    
    db.query(sql, function(err, result) {
      if (err) {
        console.error(err);
      } else {
        console.log(result);
      }
      
      db.detach(function() {
        console.log('Disconnected from database');
      });
    });
  }
});

该脚本使用 query 方法来执行查询语句。在查询语句中,可以使用 SELECT 语句来查询数据。查询结果将会返回一个数组,每个数组元素代表一条记录。

执行更新

下面是一个简单的 Node.js 脚本,可以用来更新 Firebird 数据库中的数据:

const firebird = require('node-firebird');

const options = {
  host: 'localhost',
  port: 3050,
  database: 'mydatabase.fdb',
  user: 'SYSDBA',
  password: 'mysecretpassword',
};

firebird.attach(options, function(err, db) {
  if (err) {
    console.error(err);
  } else {
    console.log('Connected to database');
    
    const sql = 'UPDATE mytable SET column1 = ? WHERE column2 = ?';
    const params = [123, 'foo'];
    
    db.query(sql, params, function(err, result) {
      if (err) {
        console.error(err);
      } else {
        console.log(result);
      }
      
      db.detach(function() {
        console.log('Disconnected from database');
      });
    });
  }
});

该脚本使用 query 方法来执行更新语句。在更新语句中,可以使用 UPDATE 语句来更新数据。更新语句中的参数使用占位符(?)来代替,然后传递到 query 方法的第二个参数中。

执行插入

下面是一个简单的 Node.js 脚本,可以用来插入数据到 Firebird 数据库中:

const firebird = require('node-firebird');

const options = {
  host: 'localhost',
  port: 3050,
  database: 'mydatabase.fdb',
  user: 'SYSDBA',
  password: 'mysecretpassword',
};

firebird.attach(options, function(err, db) {
  if (err) {
    console.error(err);
  } else {
    console.log('Connected to database');
    
    const sql = 'INSERT INTO mytable (column1, column2) VALUES (?, ?)';
    const params = [123, 'foo'];
    
    db.query(sql, params, function(err, result) {
      if (err) {
        console.error(err);
      } else {
        console.log(result);
      }
      
      db.detach(function() {
        console.log('Disconnected from database');
      });
    });
  }
});

该脚本使用 query 方法来执行插入语句。在插入语句中,可以使用 INSERT INTO 语句来插入数据。插入语句中的参数使用占位符(?)来代替,然后传递到 query 方法的第二个参数中。

执行删除

下面是一个简单的 Node.js 脚本,可以用来删除 Firebird 数据库中的数据:

const firebird = require('node-firebird');

const options = {
  host: 'localhost',
  port: 3050,
  database: 'mydatabase.fdb',
  user: 'SYSDBA',
  password: 'mysecretpassword',
};

firebird.attach(options, function(err, db) {
  if (err) {
    console.error(err);
  } else {
    console.log('Connected to database');
    
    const sql = 'DELETE FROM mytable WHERE column1 = ?';
    const params = [123];
    
    db.query(sql, params, function(err, result) {
      if (err) {
        console.error(err);
      } else {
        console.log(result);
      }
      
      db.detach(function() {
        console.log('Disconnected from database');
      });
    });
  }
});

该脚本使用 query 方法来执行删除语句。在删除语句中,可以使用 DELETE FROM 语句来删除数据。删除语句中的参数使用占位符(?)来代替,然后传递到 query 方法的第二个参数中。

结论

本文介绍了如何使用 Node.js 操作 Firebird 数据库,并提供了一些基本示例。Node.js 和 Firebird 使得操作数据库变得更加简单和便捷。