我试图使用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运行的。这意味着连接也不是问题
有人遇到过同样的问题吗?
(回答我自己的问题,它可能会帮助处于同样位置的人...)
为了正确执行查询,连接需要被关闭。
举个例子,在我的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()
})
})