我正在使用 Javascript 中的 Node.js 在 SQLite 3.2.1 中设置一个包含客户数据的数据库。错误SQLITE_ERROR: no such table: T_KUNDENDATEN_DE不断被返回。从错误中我了解到可以联系数据库。SQL 查询有效,变量vorname和nachname在 URL 中正确捕获并传递给 db.all 构造函数。但它返回错误。在调试模式下,我无法弄清楚这里出了什么问题。表 T_KUNDENDATEN_DE 不是新表,其中包含数据。有什么建议可以解决这个问题吗?用于调用的 URL app.get('/cdata'。 http://localhost:8000/cdata?vorname=ralf&nachname=ruf[![表和数据库][1]][1]// Create express appvar express = require("express")var app = express()var DateObj= new Date()var sqlite3 = require('sqlite3');var db = new sqlite3.Database('KundendatenJS.db');// Server portvar HTTP_PORT = 8000 // Start serverapp.listen(HTTP_PORT, () => { console.log("Server running on port %PORT%".replace("%PORT%",HTTP_PORT))});// Root endpointapp.get("/", (req, res, next) => { res.json({"message":"Ok" + " " + DateObj })});// API endpointsapp.get('/cdata', function(req, res){ if(req.query.vorname && req.query.nachname){ db.all('SELECT * FROM T_KUNDENDATEN_DE WHERE UPPER(VORNAME) = UPPER(?) AND UPPER(NACHNAME)=UPPER(?)', [req.query.vorname,req.query.nachname], function(err, rows){ if(err){ res.send(err.message); } else{ console.log("Return the customer data for: " + req.query.vorname + " " + req.query.nachname); res.json(rows); } }); } else{console.log("No data found") }});// Default response for any other requestapp.use(function(req, res){ res.status(404);});```
1 回答
慕后森
TA贡献1802条经验 获得超5个赞
发生错误是因为未正确引用 DB 路径。如果 SQLite 找不到现有数据库,它会创建一个新数据库。因此 SQLite 将找到一个数据库,但不是一个表。该错误消息具有误导性,因为它似乎指向内部连接错误。
解决方案:在您的解决方案中查找创建数据库的路径。这将帮助您在解决方案中设置正确的路径。
添加回答
举报
0/150
提交
取消
