Nodejs odbc - 插入语句不工作。

问题描述 投票:0回答:1

我试图使用nodejs'odbc'库将数据插入一个Access文件(.accdb)。

我的select querys是工作的,但是当我尝试插入时,我没有在我的db中插入任何内容。

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)
    })
})

如果我直接在Access上运行INSERT查询,就能正常工作,这就排除了输入错误的可能性。

奇怪的是,SELECT语句是通过nodejs运行的。这意味着连接也不是问题

有人遇到过同样的问题吗?

node.js ms-access odbc
1个回答
0
投票

(回答我自己的问题,它可能会帮助处于同样位置的人...)

为了正确执行查询,连接需要被关闭。

举个例子,在我的db中插入const odbc = require('...') (回答我自己的问题,可能会帮助到同样位置的人...)连接需要关闭,以便正确执行查询!

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()
    })
})
© www.soinside.com 2019 - 2024. All rights reserved.