Nodejs odb c - инструкция Insert не работает - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь вставить данные в файл Access (.accdb) с помощью библиотеки nodejs 'odb c' ..

Мои запросы выбора работают, однако, когда я пытаюсь вставить i ничего не вставлено в мою базу данных.

const odbc = require('odbc')

const connectionString = 'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\\Users\\Ricardo\\Desktop\\REPOS\\Project\\TestDB.accdb'

const connection = odbc.connect(connectionString, (error, connection) => {
    // const query = "SELECT * FROM Tasks"
    const query = "INSERT INTO Tasks (Cl, BLX) VALUES (\'SWI\', \'GIV\') "
    connection.query(query, (error, result) => {
        if (error) { 
            console.error(error) 
        }

        console.log(result)
    })
})

Запрос INSERT работает, если я запускаю его непосредственно в Access, что отрицает возможность опечатки.

Странная вещь в том, что оператор SELECT работает через nodejs .. Значит, соединение тоже не проблема

У кого-нибудь была такая же проблема?

1 Ответ

0 голосов
/ 08 мая 2020

(отвечая на мой собственный вопрос, это может помочь кому-то в той же должности ..)

Для правильного выполнения запроса необходимо закрыть соединение!

Пример:

const odbc = require('odbc')

const connectionString = 'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\\Users\\Ricardo\\Desktop\\REPOS\\Project\\TestDB.accdb'

const connection = odbc.connect(connectionString, (error, connection) => {
    // const query = "SELECT * FROM Tasks"
    const query = "INSERT INTO Tasks (Cl, BLX) VALUES (\'SWI\', \'GIV\') "
    connection.query(query, (error, result) => {
        if (error) { 
            console.error(error) 
        }

        console.log(result)

        connection.close()
    })
})
...